• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • dedecms
  • ecshop
  • z-blog
  • UcHome
  • UCenter
  • drupal
  • WordPress
  • 帝国cms
  • phpcms
  • 动易cms
  • phpwind
  • discuz
  • 科汛cms
  • 风讯cms
  • 建站教程
  • 运营技巧
您的位置:首页 > CMS教程 >WordPress > 自己做wordpress评论插件修改评论样式(两步美化评论内容)

自己做wordpress评论插件修改评论样式(两步美化评论内容)

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-05-13

佚名 向大家介绍了wordpress评论插件,wordpress评论,wordpress评论表情,wordpress评论代码,wordpress评论头像等相关知识,希望对您有所帮助

wordpress自带的近期评论小工具不会显示具体的评论内容,而且还会显示管理员的评论,感觉不是很好,只能自己处理一下。花了近一个晚上才处理好,主要用在理解小工具的原理上了,但是使用起来就非常简单了,只要简单的两个步骤。该小工具在wordpress 3.4.1版本上测试通过。先来个截图预览下:

1、制作小工具

代码一堆可以不用管它,直接将代码保存到wordpress的/wp-content/widgets/comments.php文件。

为什么放到这里呢?因为像主题、插件这些都是存在wp-content这个目录下面,小工具存放在这里可以统一管理,也符合wordpress目录规则。


<?php</p> <p>/**
* 继承WP_Widget_Recent_Comments
* 这样就只需要重写widget方法就可以了
*/
class My_Widget_Recent_Comments extends WP_Widget_Recent_Comments {</p> <p> /**
* 构造方法,主要是定义小工具的名称,介绍
*/
function My_Widget_Recent_Comments() {
$widget_ops = array('classname' => 'my_widget_recent_comments', 'description' => __('显示最新评论内容'));
$this->WP_Widget('my-recent-comments', __('我的最新评论', 'my'), $widget_ops);
}</p> <p> /**
* 小工具的渲染方法,这里就是输出评论
*/
function widget($args, $instance) {
global $wpdb, $comments, $comment;</p> <p> $cache = wp_cache_get('my_widget_recent_comments', 'widget');</p> <p> if (!is_array($cache))
$cache = array();</p> <p> if (!isset($args['widget_id']))
$args['widget_id'] = $this->id;</p> <p> if (isset($cache[$args['widget_id']])) {
echo $cache[$args['widget_id']];
return;
}</p> <p> extract($args, EXTR_SKIP);
$output = '';
$title = apply_filters('widget_title', empty($instance['title']) ? __('Recent Comments') : $instance['title'], $instance, $this->id_base);
if (empty($instance['number']) || !$number = absint($instance['number']))
$number = 5;
//获取评论,过滤掉管理员自己
$comments = $wpdb->get_results("SELECT * FROM $wpdb->comments WHERE user_id !=2 and comment_approved = '1' and comment_type not in ('pingback','trackback') ORDER BY comment_date_gmt DESC LIMIT $number");
$output .= $before_widget;
if ($title)
$output .= $before_title . $title . $after_title;</p> <p> $output .= '<ul id="myrecentcomments">';
if ($comments) {
// Prime cache for associated posts. (Prime post term cache if we need it for permalinks.)
$post_ids = array_unique(wp_list_pluck($comments, 'comment_post_ID'));
_prime_post_caches($post_ids, strpos(get_option('permalink_structure'), '%category%'), false);</p> <p> foreach ((array) $comments as $comment) {
//头像
$avatar = get_avatar($comment, 40);
//作者名称
$author = get_comment_author();
//评论内容
$content = apply_filters('get_comment_text', $comment->comment_content);
$content = mb_strimwidth(strip_tags($content), 0, '65', '...', 'UTF-8');
$content = convert_smilies($content);
//评论的文章
$post = '<a href="' . esc_url(get_comment_link($comment->comment_ID)) . '">' . get_the_title($comment->comment_post_ID) . '</a>';</p> <p> //这里就是输出的html,可以根据需要自行修改
$output .= '<li class="comment" style="padding-bottom: 5px; ">
<div>
<table class="tablayout"><tbody><tr>
<td class="tdleft" style="width:55px;vertical-align:top;">' . $avatar . '</td>
<td class="tdleft" style="vertical-align:top;">
<p class="comment-author"><strong><span class="fn">' . $author . '</span></strong> <span class="says">发表在 ' . $post . '</span></p>
</tr></tbody></table>
</div>
<div class="comment-content"><p class="last">' . $content . '</p>
</div>
</li>';
}
}
$output .= '</ul>';
$output .= $after_widget;</p> <p> echo $output;
$cache[$args['widget_id']] = $output;
wp_cache_set('my_widget_recent_comments', $cache, 'widget');
}</p> <p>}</p> <p>//注册小工具
register_widget('My_Widget_Recent_Comments');
</div>

在主题目录下的funtions.php文件中加载这个小工具:


2、进入后台管理拖入评论小工具

选择外观->小工具,可以看到评论小工具就加载进来了,如下:



直接将评论小工具拖动到侧边栏就OK了。

小结

有的朋友可能会担心代码出现什么问题,这个代码是从系统自带的评论小工具中复制过来的,主要是修改评论的获取和评论的显示样式。系统自带的评论小工具代码可以参考/wp-includes/default-widgets.php中的WP_Widget_Recent_Comments类。

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • WordPress实现回复文章评论后发送邮件通知的功能
  • WordPress实现评论后可显示内容中附件下载地址的方法
  • WordPress中删除垃圾评论的方法
  • WordPress评论禁止针对指定内容全英文的方法
  • Wordpress自动将包含长链接的评论标记为垃圾评论的方法
  • WordPress评论中禁止HTML代码显示的方法
  • WordPress评论添加楼层显示的方法小结
  • wordpress主题评论中添加回复的方法
  • WordPress修改评论默认头像的方法
  • WordPress屏蔽评论中链接地址的方法

相关文章

  • 2017-05-13wordpress使用外链图片作为文章缩略图的方法
  • 2017-05-13wordpress上传图片不自动生成缩略图的解决方法
  • 2017-05-13能有效改善WordPress CMS功能的8个插件分享
  • 2017-05-13wordpress主题中style.css文件需要用到的注释说明整理
  • 2018-11-02wordpress教程之 WordPress 通用设置
  • 2017-05-13wordpress添加顶级菜单实现思路
  • 2018-11-02在WordPress网站文章中调用另一个页面内容
  • 2018-11-02XSdh企业主题安装设置操作文档
  • 2017-05-13wordpress页面显示指定分类文章的方法
  • 2017-05-13WordPress快速添加友情链接功能的方法

文章分类

  • dedecms
  • ecshop
  • z-blog
  • UcHome
  • UCenter
  • drupal
  • WordPress
  • 帝国cms
  • phpcms
  • 动易cms
  • phpwind
  • discuz
  • 科汛cms
  • 风讯cms
  • 建站教程
  • 运营技巧

最近更新的内容

    • wordpress网站不利于搜索引擎优化存在的问题与建议
    • wordpress教程之 WordPress 编辑文章
    • XShuan企业主题安装设置操作文档
    • wordpress非插件实现xml格式网站地图
    • WordPress实现搜索结果包括自定义文章类型内容的方法
    • wordpress修改自定义文章类型文章URL结构的方法
    • WordPress分类与标签等存档页实现置顶的方法
    • WordPress主题必备的两个基础seo插件
    • 如何批量修改WordPress网站中文章所属的分类?
    • WordPress去除img标签的高度与宽度让图片自适应屏幕

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有