Erstellen Sie Seite, um Kommentare für jeden Beitrag in WordPress-Site zu zählen

Ich versuche, die Anzahl der Live-Kommentare zu jedem Beitrag zu zählen. Ich möchte sie auf einer benutzerdefinierten Seite wie http://example.com/count.php extrahieren und sie so ausgeben lassen:

 http://example.com/the-post-url-with-3-comments/ 3 http://example.com/the-post-url-with-no-comments/ 0 http://example.com/the-post-url-with-12-comments/ 12 

Der Abstand zwischen allen Posts ist nicht so wichtig, ich brauche nur die zwei Spalten mit allen meinen Posts und der Anzahl der genehmigten Kommentare.

Ich bin diesem Post sehr nahe gekommen und benutze echo get_comment_count( 149 ); aber es verwendet immer nur einen Beitrag. Ich möchte alle Beiträge extrahieren.

Danke für Ihre Hilfe.

Solutions Collecting From Web of "Erstellen Sie Seite, um Kommentare für jeden Beitrag in WordPress-Site zu zählen"

Das ist ziemlich einfach zu machen. Setzen Sie diesen Code in Ihre Datei functions.php .

Die Logik ist ziemlich einfach.

  • Erhalten Sie alle Beiträge mit get_posts() .
  • Iterate über alle Post, extrahiere Kommentare und Permalink der aktuellen Post und
  • Drucken Sie die Ergebnisse aus.

.

 add_action( 'init', 'get_comments_count' ); // Hook to init, elsewhere or use directly in your code function get_comments_count() { $all_posts = get_posts( array( 'numberposts' => -1 ) ); foreach( $all_posts as $current_post ){ $comments_count = get_comment_count( $current_post->ID ); $permalink = get_permalink( $current_post->ID ); printf( 'https://wordpress.stackexchange.com/questions/233878/create-page-to-count-comments-for-each-post-in-wordpress-site/%s - https://wordpress.stackexchange.com/questions/233878/create-page-to-count-comments-for-each-post-in-wordpress-site/%s
', $permalink, $permalink, $comments_count['total_comments'] ); } }

Probieren Sie den folgenden Code aus. Es wird die Anzahl der Kommentare jedes Posts in der Post-Schleife angezeigt. Es bietet auch einen Link zu Kommentaren.

 < ?php comments_number('0 Comment', '1 Comment', '% Comments'); ?>