博客 / WordPress/ WordPress 侧边栏显示最新评论(用户名+文章标题)代码实现

WordPress 侧边栏显示最新评论(用户名+文章标题)代码实现

WordPress 侧边栏显示最新评论(用户名+文章标题)代码实现

实现 WordPress 侧边栏显示最新评论(含文章标题)

无需安装插件,通过添加自定义代码即可在 WordPress 侧边栏或其他位置显示最新评论列表,格式为“用户名:发表在《文章标题》”。

核心代码与说明

将以下代码添加到主题的 sidebar.php 文件(或任何你想显示评论列表的模板文件)中。代码会查询已通过审核的评论,并按时间倒序显示。

<?php
global $wpdb;
$sql = "SELECT DISTINCT ID, post_title, post_password, comment_ID,
comment_post_ID, comment_author, comment_date_gmt, comment_approved,
comment_type, comment_author_url,
SUBSTRING(comment_content, 1, 30) AS com_excerpt
FROM $wpdb->comments
LEFT OUTER JOIN $wpdb->posts ON ($wpdb->comments.comment_post_ID = $wpdb->posts.ID)
WHERE comment_approved = '1' AND comment_type = '' AND post_password = ''
ORDER BY comment_date_gmt DESC
LIMIT 9";
$comments = $wpdb->get_results($sql);

if ($comments) {
    echo '<ul>';
    foreach ($comments as $comment) {
        $author = strip_tags($comment->comment_author);
        $title = strip_tags($comment->post_title);
        $permalink = get_permalink($comment->comment_post_ID);
        $comment_link = $permalink . '#comment-' . $comment->comment_ID;
        echo "<li><strong>{$author}</strong>: <a href='{$comment_link}' title='查看此评论'>发表在《{$title}》</a></li>";
    }
    echo '</ul>';
} else {
    echo '<p>暂无评论。</p>';
}
?>

代码解析与自定义

  • 显示数量:修改 LIMIT 9 中的数字即可调整显示的评论条数。
  • 查询条件comment_approved = '1' 确保只显示已审核通过的评论;post_password = '' 排除受密码保护的文章。
  • 输出格式:代码已修正原文中的引号错误和链接构造逻辑,确保输出有效的 HTML 列表。
  • 安全处理:使用 strip_tags() 对用户名和文章标题进行过滤,防止 XSS 攻击。

进阶优化建议

  • 创建小工具:如需更灵活的管理,可将此代码封装为一个简单的 WordPress 小工具(Widget)。
  • 添加缓存:频繁的数据库查询可能影响性能,建议使用 wp_cache_set()wp_cache_get() 对查询结果进行缓存。
  • 样式美化:输出的列表带有 <ul><li> 标签,可通过主题的 CSS 文件自定义样式。

注意:直接修改主题文件会在主题更新时丢失更改。建议使用子主题代码片段插件来管理自定义代码。

  1. avatar
    跨境电商教程

    学习学习,必须的!谢谢!

发表评论

您的邮箱不会公开。必填项已用 * 标注。