程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> 詳解WordPress中調用評論模板和循環輸出評論的PHP函數

詳解WordPress中調用評論模板和循環輸出評論的PHP函數

編輯:PHP綜合

comments_template
comments_template 函數是一個調用評論模板的函數,使用起來很簡單,與get_header()等函數一樣,是一個include文件類函數,今天來講一下他的使用。

描述
上面已經講過了,就是調用評論模板的一個函數。

使用

 <?php comments_template( $file, $separate_comments ); ?>

其中

$file 需要調用的文件名 默認值: /comments.php
$separate_comments 是否分隔不用類型的評論 布爾型 默認值: false
講的比較籠統,更深層次請往下看

使用實例

 <?php comments_template(get_post_format().'-comment.php', true ); ?>

這樣,就可以根據你不同的文章類型去顯示文章評論了。
用法上是不是跟get_template_part()有點類似呢?
至於$separate_comments准確的意思,我也沒搞明白,不過官方默認主題一直都是true的所以我也就跟進了。之前研究過一次,貌似這裡指的類型是是否回復的意思。

wp_list_comments
wp_list_comments 函數是一個循環輸出當前文章或頁面每個評論的函數,在 WordPress 主題中主要被用來輸出每一條評論,省去我們手工便利之苦,也把 WordPress 的評論功能很好的進行了模塊化。

wp_list_comments函數在主題中配合comments_template函數聯合使用可以很好的將 WordPress 的評論功能獨立出來,而且可以更好對評論嵌套層數、每頁顯示評論數量、評論樣式等等等等進行控制。所以如果你想做好主題的話,那還是看一下吧。

描述
英文原文:

Displays all comments for a post or Page based on a variety of parameters including ones set in the administration area.

我的理解:
用一個整體設置的參數來顯示一篇文章、頁面的所有評論。

用法

<?php
   wp_list_comments( $args ); 
?>

參數使用
 

<?php $args = array(
  'walker'      => null,
  'max_depth'     => ,
  'style'       => 'ul',
  'callback'     => null,
  'end-callback'   => null,
  'type'       => 'all',
  'page'       => ,
  'per_page'     => ,
  'avatar_size'    => 32,
  'reverse_top_level' => null,
  'reverse_children' => ); ?>

$walker 自定義樣式類名
$avatar_size 頭像大小 Default: 32
$style 評論容器標簽可以是 ‘div', ‘ol', or ‘ul',默認值是'ul',如果不是,那你需要像如下那樣明確寫出。

<div class="commentlist"><?php wp_list_comments(array('style' => 'div')); ?></div>

<ol class="commentlist"><?php wp_list_comments(array('style' => 'ol')); ?></ol>

$type 顯示何種評論,參數可以是 ‘all'、'comment'、'trackback'、'pingback'、'pings'. ‘pings' 包括'trackback' 和 ‘pingback'.
默認值: ‘all'
$reply_text 回復按鈕的文本值,這個較少用不解釋 默認值: ‘Reply'
$login_text 登錄按鈕的文本值,這個較少用不解釋 默認值: ‘Log in to Reply'
$callback 評論顯示的回調函數,即顯示評論主題的函數名稱
$end-callback 應該是循環結束後的回調函數,本人未實測,請自行探索。
$reverse_top_level 布爾值,如果設置本參數為真,則先顯示最新一條評論,後面的評論按照後台設置顯示。
$reverse_children 布爾值,如果設置本參數為真,則先顯示最新一條有子評論的評論,後面的評論按照後台設置顯示。
實例
這裡是官方默認主題 twentyeleven 中的評論顯示演示,
具體其他的參數請參照以上介紹自行演示探索。

<ol class="commentlist">
<?php
 /* Loop through and list the comments. Tell wp_list_comments()
 * to use twentyeleven_comment() to format the comments.
 * If you want to overload this in a child theme then you can
 * define twentyeleven_comment() and that will be used instead.
 * See twentyeleven_comment() in twentyeleven/functions.php for more.
 */
 wp_list_comments( array( 'callback' => 'twentyeleven_comment' ) );
//twentyeleven_comment 函數在主題文件 "twentyeleven/functions.php"中定義。
?>
</ol>

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved