Ich muss eine AJAX-function innerhalb einer WP_Query ausführen, funktioniert aber nur beim ersten Element

Ich habe eine Seite, auf der Benutzer Ergebnisse aus dem Ultimate WP Query Search Filter-Plugin filtern. Die Ergebnisse werden in einem DIV über einen AJAX-Aufruf angezeigt. Dies funktioniert 100%. Ich habe jedoch eine andere AJAX-function an jedes Ergebnis in der Abfrage angehängt, so dass Benutzer einen neuen Beitrag aus den Suchergebnissen erstellen können.

(Siehe diesen Beitrag, wie ich das zum arbeiten gebracht habe. Erstelle einen neuen WordPress-Beitrag [wp_insert_post] basierend auf den Ergebnissen einer WP_Query. )

Das Problem, das ich jetzt habe, ist, dass, wenn ich die wp_query Ergebnisse ansehe – ich habe eine Schaltfläche für jeden Datensatz zu “Hinzufügen” zu. Wenn ich den Knopf am ersten Gegenstand trigge, funktioniert es 100%. Wenn ich jedoch auf eines der nachfolgenden Elemente klicke, wird immer noch der Post erstellt, aber alle an ihn angehängten Werte werden ignoriert.

Ich vermute, ich muss die AJAX-function nach jedem Anruf zurücksetzen, aber nicht sicher, wie das geht?

Hier ist der Code zum Hinzufügen der Beiträge: https://gist.github.com/stankobrin/4d15c29024e306b2ea43 Hier ist der JS / AJAX-Code: https://gist.github.com/stankobrin/61843fefef464e8778a3

Jede Hilfe dabei wäre willkommen – ich habe unzählige Stunden damit verbracht, alles zu probieren!

S

Solutions Collecting From Web of "Ich muss eine AJAX-function innerhalb einer WP_Query ausführen, funktioniert aber nur beim ersten Element"

Das Problem liegt in der Element-ID, die Sie verwenden.

Weil wenn die Seite mehrere IDs mit dem gleichen Namen hat (zB apftitle ). Dann wird es nur für das erste Element funktionieren, weil es nach dem ersten Vorkommen von id sucht und nur dafür arbeitet

  1. Sie können es lösen, indem Sie die IDs dynamisch halten, damit es für alle funktioniert.
  2. Oder Sie können den Javascript-pointers verwenden, der auf das aktuelle Element verweist, mit dem er verbunden ist.