web-dev-qa-db-fra.com

Créer une page pour compter les commentaires de chaque publication sur le site Wordpress

J'essaie de compter le nombre de commentaires en direct sur chaque message. Je voudrais les extraire sur une page personnalisée comme http://example.com/count.php et les faire sortir comme ceci:

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

L'espacement entre tous les articles n'a pas autant d'importance, il me faut seulement les deux colonnes avec tous mes articles et le nombre de commentaires approuvés.

Je suis sur le point de le faire avec ce message et avec echo get_comment_count( 149 );, mais il n’utilise qu’un message à la fois. Je voudrais extraire tous les messages.

Merci de votre aide.

1
DomainsFeatured

C'est assez facile à faire. Mettez ce code dans votre fichier functions.php .

La logique est assez simple.

  • Obtenez tous les messages avec get_posts().
  • Itérer sur tous les posts, extraire le nombre de commentaires et le permalien du post actuel et
  • Imprimez les résultats.

.

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( '<a href="%s">%s</a> - %s<br>', $permalink, $permalink, $comments_count['total_comments'] );

  }
}
0
bynicolas

Essayez ci-dessous le code. Il affichera le nombre de commentaires de chaque message dans la boucle de messages. Il fournit également un lien vers les commentaires.

<a href="<?php comments_link(); ?>"><?php comments_number('0 Comment', '1 Comment', '% Comments'); ?>
</a>
0
pallavi