ich benutze wordpress und lernen jquery und ich habe ein paar probleme. Ich bekomme Post von der Kategorie mit einer foreach-Schleife, und ich fügte eine Schaltfläche mit einer jquery-Funktion hinzu, um weitere Informationen anzuzeigen (Toggle-Funktion), aber die Funktion zeigt immer die Beschreibung des ersten Posts an, auch wenn ich auf die anderen Schaltflächen klicke. Beispiel: Ich klicke auf den Button des dritten Posts, aber es ist die Beschreibung des ersten Posts, der sich selbst zeigt.jquery und wordpress button
<?php
global $post;
$args = array('posts_per_page' => -1, 'offset'=> 1, 'category' => 264);
$myposts = get_posts($args);
foreach ($myposts as $post) : setup_postdata($post); ?>
<div class="post-container">
<div class="post-thumbnail"><?php the_post_thumbnail() ?></div>
<h3><?php the_title(); ?></h3>
<button id="know-more" class="all-button" onClick="Myfunction();">En savoir plus</button>
<div class="all-car" id="the-content"><?php the_content(); ?></div>
</div>
<?php endforeach;
wp_reset_postdata();?>
und meine jQuery-Funktion
(function(){
Myfunction = function(){
("#the_content").toggle(500);
};
})(jQuery);
Es sieht aus wie die id 'the-content' für jeden bock innerhalb eines erzeugt wird, das heißt, sie wiederholen wird. Id-Attribute sind eindeutige Bezeichner. Daher wird erwartet, dass sie innerhalb eines Dokuments einzigartig sind. Zumindest müssen Sie Ihre Logik überprüfen und doppelte IDs durch eine Klasse ersetzen, die sich wiederholen kann. – Taplar
Ich habe auch gerade bemerkt, dass Ihr Javascript IIFE keine Parameter von '$' hat, um die übergebene jQuery zu akzeptieren, und Ihrem Selektor fehlt das '$' davor. – Taplar
Ich versuchte mit einer Klasse (.all-Auto), aber das Problem alle generierten div hatte die gleiche Klasse, so dass es schließlich die Beschreibung, aber für alle nach dieser Zeit @Taplar – matheo972