In diesem Artikel werden hauptsächlich PHP-Codebeispiele zum Hinzufügen von Etagennummern zu Kommentaren in WordPress vorgestellt. Dieser Artikel bezieht sich nur auf die Hauptkommentare und nicht auf die kaskadierenden Kommentare im Gebäude. Ich hoffe, es hilft allen.
Kürzlich habe ich plötzlich festgestellt, dass es ein Problem mit der Kommentarebene des Blogs gibt. Es wurde so eingestellt, dass „neue Kommentare oben auf jeder Seite angezeigt werden“, also die sogenannte Anzeige von Kommentaren in umgekehrter Reihenfolge, aber das Theme unterstützt nur aufeinanderfolgende Kommentaretagen, sodass die Etage und die Etagennummer nicht übereinstimmen. Nach der Suche habe ich den Implementierungscode auf zww.me gefunden, aber er funktioniert nicht richtig, nachdem er im Blog platziert wurde. Wenn die Seitenanzeige beispielsweise auf 25 Elemente beschränkt ist, wird die 25. Etage auch angezeigt, wenn der Artikel nur eines enthält Kommentar. Nach einigem Herumtüfteln habe ich es geschafft und eine Aufzeichnung als Referenz für alle erstellt.
Suchen Sie $GLOBALS['comment'] = $comment in der Theme-Datei „functions.php“ und fügen Sie danach den folgenden Code hinzu:
/* 主评论计数器 */ 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">'; } }
Fügen Sie dann an der entsprechenden Stelle den folgenden Code ein, um die Etagennummer auszugeben
<?php echo $commentcountText; //主评论楼层号 - by zwwooooo ?>
Ändern Der folgende Code sollte so aussehen (am Beispiel des neuesten offiziellen wp_list_comments()-Callback-Funktionscodes):
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 ?>Nach dem Login kopieren
Verwandte Empfehlungen:
PHP konvertiert einen Verzeichnisbaum entsprechend dem Pfadarray
So geht's in WordPress Allgemeine Einstellungen vornehmen
Ein praktisches Tutorial zur Verwendung von WordPress zur Entwicklung von WeChat-Miniprogrammen
Das obige ist der detaillierte Inhalt vonFügen Sie den Kommentaren in WordPress eine Etagennummer hinzu. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!