Erstellen Sie eine Schleife mit Beiträgen, die von den letzten Kommentaren bestellt wurden

wordpress.stackexchange https://wordpress.stackexchange.com/questions/2287

  •  16-10-2019
  •  | 
  •  

Frage

Wie kann ich mit Query_Posts die Liste der Beiträge bestellen, damit diejenigen mit den neuesten Kommentaren oben sind?

Ich suche nach etwas ähnlichem, wie Fragen hier auf SE bestellt werden, wenn Sie nach "aktiv" sortieren.

War es hilfreich?

Lösung

Ich würde nicht benutzen query_posts(). Diese bestimmte Funktion ist für Änderungen an einer bestimmten Abfrage gedacht ... und sie ist begrenzt genug, dass Sie nicht die Art von benutzerdefinierten Funktionen erhalten, die Sie davon benötigen.

Vielmehr würde ich eine benutzerdefinierte Abfrage verwenden. Was Sie tun möchten, ist, dass genehmigte Kommentare nach ihrem Post-/Genehmigungsdatum sortiert sind und sich dem mit den Beiträgen in Ihrer Datenbank anschließen. Wenn ein Beitrag keine Kommentare enthält, wird er automatisch auf der Grundlage dieser Kriterien herausgefiltert.

EIN sehr einfach Pseudo-Code-Beispiel:

$qstr = 'SELECT * FROM wp_posts ON (wp_posts.post_id = wp_commnets.comment_post_id) WHERE wp_comments.comment_approved='approved' ORDER BY wp_comments.comment_date';
$my_query = new WP_Query($qstr);

while($my_query->have_posts() ...

Grundsätzlich wählen Sie Beiträge basierend auf bestimmten Kriterien in Bezug auf Daten in der Kommentarabelle. Die Verwendung einer direkten Abfrage erfordert eine bestimmte Kenntnis der SQL -Anweisungen und die WP -Datenbankstruktur ... also ist es normalerweise nicht meine erste Empfehlung, sondern sollte in Ihrem Fall funktionieren.

Denken Sie daran, dass der obige Code Pseudo-Code ist ... was bedeutet, dass ich es von der Spitze meines Kopfes gemacht habe, es funktioniert möglicherweise nicht und Sie sollten es nur als konzeptionelles Beispiel verwenden.

Als Referenz:

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit wordpress.stackexchange
scroll top