web-dev-qa-db-ja.com

Wordpressのサイトで各投稿のコメントを数えるページを作成する

私は各投稿のライブコメントの数を数えようとしています。私はhttp://example.com/count.phpのようなカスタムページでそれらを抽出して、それらをこのように出力させたいです:

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

すべての投稿間の間隔はそれほど重要ではありません。すべての投稿と承認されたコメントの数を含む2つの列が必要です。

私はこれを この投稿echo get_comment_count( 149 );を使って行うことに近づいていますが、それは一度に1つの投稿しか使いません。すべての投稿を抽出したいのですが。

ご協力いただきありがとうございます。

1
DomainsFeatured

これはとても簡単です。このコードをfunctions.phpファイルに入れてください。

論理は非常に簡単です。

  • すべての投稿をget_posts()で取得してください。
  • すべての投稿を繰り返し、現在の投稿のコメント数とパーマリンクを抽出して
  • 結果を印刷してください。

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

以下のコードを試してください。ポストループで各投稿のコメント数を表示します。コメントへのリンクもあります。

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