Cum să obții ID-ul unei postări din buton și să transmiți titlul către Modal
<div><?php echo wp_get_attachment_image($image_upload,$size = 'full');?><br/>
<span class="name"><?php echo $title ?></span><span class="jobtitle"><?php echo $jobtitle ?></span>
<a onclick="return moreinfoModal(this);" id="<?php get_the_ID();?>" data-toggle="modal" data-target="#moreinfo-modal" href="javascript:void(0);" class="info">mai multe informații</a>
</div>
<div id="moreinfo-modal" role="dialog">
<div class="teammember_div">
<a id="close-moreinfo" onclick='return closeMoreInfoModal();' href="javascript:void(0);"><img src="https://brentbrookbush.com/wp-content/themes/brent/images/svgs/icon.svg" alt="Închide fereastra" title="Buton închidere"></a>
<?php echo wp_get_attachment_image($image_upload,$size = 'full');?>
<p><?php echo $title ?></p>
<p><?php echo $about ?></p>
<span class="jobtitle"><?php echo $jobtitle ?></span>
<span id="moreinfo" style="display: inherit;"></span>
<a id="modal-join" class="btn-cta" href="/sign-up/">Devino Membru!</a>
</div>
</div>
<?php }?>
</div>
</div>
Afișez 4 carduri cu nume și titluri de job și un buton pentru deschiderea unei ferestre modale. Când utilizatorul face click pe buton, se deschide o fereastră modală cu o imagine, titlu, descriere etc...
Din păcate, pot deschide doar o fereastră modală cu detaliile unei singure postări. Aș dori să potrivesc conținutul ferestrei modale cu conținutul cardurilor, dacă are sens.
Deci card = Harry Modal = Harry
<script> function moreinfoModal(field) {
console.log(field.id);
$('#moreinfo-modal').toggleClass('open');
}
function closeMoreInfoModal() {
$('#moreinfo-modal').toggleClass('open');
}
$(document).on('click', '.close-pill', function(e) {
$(this).parent().remove();
e.preventDefault();
});
</script>
Aveți vreo idee ce îmi lipsește?
Când afișăm datele postării într-un model la click pe buton, trebuie să furnizăm ID-ul postării cu atributul de date pentru ținta specifică a modelului.
Vă rugăm să adăugați ID-ul postării în data-target în tag-ul anchor, precum și în ID-ul tag-ului div principal.
Am modificat codul dumneavoastră aici:
<div><?php echo wp_get_attachment_image($image_upload,$size = 'full');?><br/>
<span class="name"><?php echo $title; ?></span><span class="jobtitle"><?php echo $jobtitle; ?></span>
<a onclick="return moreinfoModal(this);" id="<?php echo get_the_ID();?>" data-toggle="modal" data-target="#moreinfo-modal-<?php echo get_the_ID();?>" href="javascript:void(0);" class="info">mai multe informații</a>
</div>
<div id="moreinfo-modal-<?php echo get_the_ID();?>" class= "moreinfo-modal" role="dialog">
<div class="teammember_div">
<a id="close-moreinfo" onclick='return closeMoreInfoModal();' href="javascript:void(0);"><img src="https://brentbrookbush.com/wp-content/themes/brent/images/svgs/icon.svg" alt="Închide fereastra modală" title="Închide"></a>
<?php echo wp_get_attachment_image($image_upload,$size = 'full');?>
<p><?php echo $title ?></p>
<p><?php echo $about ?></p>
<span class="jobtitle"><?php echo $jobtitle ?></span>
<span id="moreinfo" style="display: inherit;"></span>
<a id="modal-join" class="btn-cta" href="/sign-up/">Devino Membru!</a>
</div>
</div>
<?php }?>
</div>
</div>
De asemenea, puteți modifica codul JavaScript pentru a face click pe clasă în loc de atributul ID al div-ului, astfel:
<script> function moreinfoModal(field) {
console.log(field.id);
$('.moreinfo-modal').toggleClass('open');
}
function closeMoreInfoModal() {
$('.moreinfo-modal').toggleClass('open');
}
$(document).on('click', '.close-pill', function(e) {
$(this).parent().remove();
e.preventDefault();
});
</script>
Sper că acest lucru vă poate rezolva problema. :)

Salut, mulțumesc pentru cod - în starea actuală nu funcționează, dar m-a îndreptat în direcția corectă așa că voi continua să lucrez la el. Mulțumesc!

deci în timp ce afișează ferestrele modale, le listează pe toate dintr-o singură apăsare - adică listează toate ID-urile de postări și nu doar unul. Aveți vreo sugestie?

Îmi pare rău, nu înțeleg care este problema reală cu care v-ați confruntat în cod și de ce toate ferestrele modale sunt listate la o singură apăsare. Puteți să împărtășiți codul complet al paginii ca să înțeleg unde greșiți? Mulțumesc!

Nicio problemă, am rezolvat astfel încât să apeleze doar un singur modal - mulțumesc!
