【Wordpress】記事のコメント一覧に2chみたいに番号を振るよ!
ワードプレスの記事に付けられたコメント一覧に、2ch掲示板っぽく番号を付けるよ!
イメージとしてはこんな感じ・・。
1.名無しさん
記念カキコ
2.名無しさん
記念パピコ
3.名無しさん
記念マキコ
functions.phpに以下のような関数を定義すると、そのコメントの番号を計算することができます!
//コメントIDから番号を計算して返却する function get_comment_index($comment_id){ global $wpdb; $result = $wpdb->get_results("SELECT * FROM wp_comments WHERE comment_ID='$comment_id'", ARRAY_A); if (!count($result)){ return null; } $post_id = $result[0]['comment_post_ID']; $result = $wpdb->get_results("SELECT comment_ID, (SELECT COUNT(*)+1 FROM wp_comments B WHERE B.comment_post_ID='$post_id' AND B.comment_ID < A.comment_ID) AS 'index' FROM wp_comments A WHERE comment_ID='$comment_id'", ARRAY_A); if (!count($result)){ return null; } return $result[0]['index']; }
そして、コメント一覧を表示する処理の直前でこの関数をコールして、取得したコメント番号をechoで表示させてやります。
(うちが使っているテーマでは「class-twentytwenty-walker-comment.php」というファイルの中でコメント一覧を表示してた)
$comment_index = get_comment_index($comment->comment_ID); echo $comment_index."."; printf( '<span class="fn">%1$s</span><span class="screen-reader-text says">%2$s</span>', esc_html( $comment_author ), __( 'says:', 'twentytwenty' ) );
これで名前の前に「.1」とか「.2」とかの番号が付くようになります!
以上!