この記事では、WordPress のコメントに階数を追加するための PHP コード例を主に紹介します。この記事は、建物内のカスケード コメントではなく、メインのコメントのみを対象としています。お役に立てれば幸いです。
最近、ブログのコメントフロアに問題があることに気づきました。 以前の設定は、「新しいコメントを各ページの先頭に表示する」、いわゆるコメントの逆順表示でした。ただし、テーマは連続コメントフロアのみをサポートしているため、フロアとフロア番号は一致しません。検索するとzww.meに実装コードがあったのですが、例えばページング表示が25件までに制限されている場合、記事が1件しかない場合は25階も表示されてしまいます。コメント。いくつかいじって完成させたので、みんなの参考用に記録を作成しました。
テーマ ファイルfunctions.phpで$GLOBALS['comment'] = $comment;を見つけて、その後ろに次のコードを追加します:
/* 主评论计数器 */ global $commentcount,$wpdb, $post; if(!$commentcount) { //初始化楼层计数器 if ( get_option('comment_order') === 'desc' ) { //倒序 $comments = $wpdb->get_results("SELECT * FROM $wpdb->comments WHERE comment_post_ID = $post->ID AND comment_type = '' AND comment_approved = '1' AND !comment_parent"); $cnt = count($comments);//获取主评论总数量 $page = get_query_var('cpage');//获取当前评论列表页码 $cpp=get_option('comments_per_page');//获取每页评论显示数量 if (ceil($cnt / $cpp) == 1 || ($page > 1 && $page == ceil($cnt / $cpp))) { $commentcount = $cnt + 1;//如果评论只有1页或者是最后一页,初始值为主评论总数 } else { $commentcount = $cpp * $page + 1; } }else{ //顺序 $page = get_query_var('cpage')-1; $cpp=get_option('comments_per_page');//获取每页评论数 $commentcount = $cpp * $page; } } /* 主评论计数器 end */ if ( !$parent_id = $comment->comment_parent ) { $commentcountText = '<p class="floor">'; if ( get_option('comment_order') === 'desc' ) { //倒序 $commentcountText .= --$commentcount . '楼'; } else { switch ($commentcount) { case 0: $commentcountText .= '<span>沙发!</span>'; ++$commentcount; break; case 1: $commentcountText .= '<span>板凳!</span>'; ++$commentcount; break; case 2: $commentcountText .= '<span>地板!</span>'; ++$commentcount; break; default: $commentcountText .= ++$commentcount . '楼'; break; } } $commentcountText .= '</p">'; } }
次に、次のコードを適切な場所に追加して、フロア番号
<?php echo $commentcountText; //主评论楼层号 - by zwwooooo ?>
変更されたコードは次のようになります (最新の公式 wp_list_comments() コールバック関数コードを例として取り上げます):
get_results("SELECT * FROM $wpdb->comments WHERE comment_post_ID = $post->ID AND comment_type = '' AND comment_approved = '1' AND !comment_parent"); $cnt = count($comments);//获取主评论总数量 $page = get_query_var('cpage');//获取当前评论列表页码 $cpp=get_option('comments_per_page');//获取每页评论显示数量 if (ceil($cnt / $cpp) == 1 || ($page > 1 && $page == ceil($cnt / $cpp))) { $commentcount = $cnt + 1;//如果评论只有1页或者是最后一页,初始值为主评论总数 } else { $commentcount = $cpp * $page + 1; } }else{ //顺序 $page = get_query_var('cpage')-1; $cpp=get_option('comments_per_page');//获取每页评论数 $commentcount = $cpp * $page; } } /* 主评论计数器 end */ if ( !$parent_id = $comment->comment_parent ) { $commentcountText = ''; if ( get_option('comment_order') === 'desc' ) { //倒序 $commentcountText .= --$commentcount . '楼'; } else { switch ($commentcount) { case 0: $commentcountText .= '沙发!'; ++$commentcount; break; case 1: $commentcountText .= '板凳!'; ++$commentcount; break; case 2: $commentcountText .= '地板!'; ++$commentcount; break; default: $commentcountText .= ++$commentcount . '楼'; break; } } $commentcountText .= '
'; } } extract($args, EXTR_SKIP); if ( 'p' == $args['style'] ) { $tag = 'p'; $add_below = 'comment'; } else { $tag = 'li'; $add_below = 'p-comment'; } ?> < id="comment-">comment_approved == '0') : ?>
$add_below, 'depth' => $depth, 'max_depth' => $args['max_depth']))) ?>
<?php echo $commentcountText; //主评论楼层号 - by zwwooooo ?>
WordPress を使用して WeChat ミニ プログラムを開発するための実践的なチュートリアル
以上がWordPress のコメントに階数を追加するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。