• 歡迎訪問奇跡の海網站,本站不上傳任何資源,所有資源均來自于網絡,歡迎加入奇跡の海~!奇跡の海-WordPress QQ群
  • 本站下載資源為網絡上收集整理而來,并且以計算機技術研究交流為目的,版權歸原作者所有,僅供大家參考,學習,不存在任何商業目的與商業用途.
  • 本站系統鏡像均來自于官方原版,ed2k可視為P2P下載鏈接。所有操作系統默認均為試用版,如有正版密鑰可以有效激活,本站不提供任何激活和相關服務。

WordPress 近期評論小工具不顯示博主評論

WP插件 奇跡の海 2年前 (2017-05-30) 569次瀏覽 已收錄 0個評論 掃描二維碼

問題:

  • 作者(站長)自己的留言也會顯示出來。
    當作者連續回復時,最新評論就都是作者自己的留言,這個模塊就喪失了其應有的功能。
  • 所有留言的具體內容都不會顯示出來。
    默認顯示格式為:“讀者ID”+“發表在”+“具體文章名”+“上的評論”.
    如顯示為:Timle.CN發表在《WiFi釣魚法追隔壁妹子》。

針對以上兩個問題,可以通過插件解決(如WP-RecentComments)。按照我的習慣,不太復雜的改動盡量不使用插件,以免拖累網站運行速度。因此,本文將介紹如何通過修改代碼來解決以上問題。

近期評論不顯示作者評論

查看wordpress數據庫中的wp_comments表,其中字段user_id即用于標識用戶,user_id=0為來自訪客的留言,因此只需在獲取comments時傳遞user_id=0這個參數即可。

WordPress4.4以前版本打開/wp-includes/default-widgets.php,
WordPress4.4之后版本打開/wp-includes/widgets/class-wp-widget-recent-comments.php,

搜索以下代碼

$comments = get_comments( apply_filters( 'widget_comments_args', array(
    'number'      => $number,
    'status'      => 'approve',
    'post_status' => 'publish'
) ) );

修改為:

$comments = get_comments( apply_filters( 'widget_comments_args', array(
    'number'      => $number,
    'status'      => 'approve',
    'post_status' => 'publish',
    'type'        => 'comment',
    'user_id'     => 0
) ) );

解釋一下:'user_id' => 0效果為不顯示站長自己的回復;'type' => 'comment'效果為只顯示評論類留言,即不顯示pingback和trackback類留言。

近期評論直接顯示留言內容

WordPress4.4以前版本打開/wp-includes/default-widgets.php,
WordPress4.4之后版本打開/wp-includes/widgets/class-wp-widget-recent-comments.php,

找到以下代碼

foreach ( (array) $comments as $comment) {
    $output .= '




<li class="recentcomments">';
    /* translators: comments widget: 1: comment author, 2: post link */
    $output .= sprintf( _x( '%1$s on %2$s', 'widgets' ),
        '<span class="comment-author-link">' . get_comment_author_link() . '</span>',
        '<a href="' . esc_url( get_comment_link( $comment->comment_ID ) ) . '">' . get_the_title($comment->comment_post_ID) . '</a>'
    );
    $output .= '</li>





';
}

1、把sprintf( _x( '%1$s on %2$s', 'widgets' )里面的“on”改成冒號“:”。

2、將以下代碼

' . get_the_title($comment->comment_post_ID) . '

修改為

' . mb_strimwidth(strip_tags($comment->comment_content),0,50, '…') . '

這里的數字“50”是用來限制評論顯示的字符數長度,可根據頁面顯示寬度自行修改。

修改后完整代碼如下:

foreach ( (array) $comments as $comment) {
    $output .= '


<li class="recentcomments">';
    /* translators: comments widget: 1: comment author, 2: post link */
    $output .= sprintf( _x( '%1$s:%2$s', 'widgets' ),
        '<span class="comment-author-link">' . get_comment_author_link() . '</span>',
        '<a href="' . esc_url( get_comment_link( $comment->comment_ID ) ) . '">' . mb_strimwidth(strip_tags($comment->comment_content),0,50, '…') . '</a>'
    );
    $output .= '</li>



';
}
/**
注意一下<a href="http://www.bavghg.tw/archives/tag/dm" title="查看更多關于代碼的文章" target="_blank">代碼</a>區別,自行調整
wordpress4.4之前版本esc_url( get_comment_link( $comment-&amp;amp;gt;comment_ID ) )
wordpress4.4之后版本esc_url( get_comment_link( $comment ) )
**/

修改前后效果

如下:

WordPress 近期評論小工具不顯示博主評論

其實wodpress對user_id的判定很SB的,如果博主是在管理后臺回復的,則user_id值為1;如果是在前臺評論頁回復的評論,則user_id值為0。所以,通過以上的修改后,想在側欄近期評論顯示博主評論,只需在前臺回復評論即可。

版權聲明:本站所有文章和資源使用CC BY-NC-SA 4.0協議授權發布 , 轉載應當以相同方式注明文章來自“SeaOMC.COM->WordPress 近期評論小工具不顯示博主評論!在下邊可以分享本文哦!
喜歡 (0)
[]
分享 (0)
奇跡の海
關于作者:
一個WordPress菜鳥!
發表我的評論
取消評論

表情 貼圖 加粗 刪除線 居中 斜體 簽到

Hi,您需要填寫昵稱和郵箱!

  • 昵稱 (必填)
  • 郵箱 (必填)
  • 網址
中国福利彩票36选7开奖结果