詳解WordPress中調用評論模板和迴圈輸出評論的PHP函數_php技巧

來源:互聯網
上載者:User

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>

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.