wordpress自带的近期评论小工具不会显示具体的评论内容,而且还会显示管理员的评论,感觉不是很好,只能自己处理一下。花了近一个晚上才处理好,主要用在理解小工具的原理上了,但是使用起来就非常简单了,只要简单的两个步骤。该小工具在wordpress 3.4.1版本上测试通过。先来个截图预览下:
1、制作小工具
代码一堆可以不用管它,直接将代码保存到wordpress的/wp-content/widgets/comments.php文件。
为什么放到这里呢?因为像主题、插件这些都是存在wp-content这个目录下面,小工具存放在这里可以统一管理,也符合wordpress目录规则。
复制代码
代码如下:
/**
* 继承WP_Widget_Recent_Comments
* 这样就只需要重写widget方法就可以了
*/
class My_Widget_Recent_Comments extends WP_Widget_Recent_Comments {
/**
* 构造方法,主要是定义小工具的名称,介绍
*/
function My_Widget_Recent_Comments() {
$widget_ops = array('classname' => 'my_widget_recent_comments', 'description' => __('显示最新评论内容'));
$this->WP_Widget('my-recent-comments', __('我的最新评论', 'my'), $widget_ops);
}
/**
* 小工具的渲染方法,这里就是输出评论
*/
function widget($args, $instance) {
global $wpdb, $comments, $comment;
$cache = wp_cache_get('my_widget_recent_comments', 'widget');
if (!is_array($cache))
$cache = array();
if (!isset($args['widget_id']))
$args['widget_id'] = $this->id;
if (isset($cache[$args['widget_id']])) {
echo $cache[$args['widget_id']];
return;
}
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;
$output .= '
- ';
' . $avatar . '
' . $content . '
';
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);
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 = 'comment_ID)) . '">' . get_the_title($comment->comment_post_ID) . '';
//这里就是输出的html,可以根据需要自行修改
$output .= '
}
}
$output .= '
$output .= $after_widget;
echo $output;
$cache[$args['widget_id']] = $output;
wp_cache_set('my_widget_recent_comments', $cache, 'widget');
}
}
//注册小工具
register_widget('My_Widget_Recent_Comments');
在主题目录下的funtions.php文件中加载这个小工具:
复制代码
代码如下:
require(get_template_directory().'/../../widgets/comments.php');
2、进入后台管理拖入评论小工具
选择外观->小工具,可以看到评论小工具就加载进来了,如下:
直接将评论小工具拖动到侧边栏就OK了。
小结
有的朋友可能会担心代码出现什么问题,这个代码是从系统自带的评论小工具中复制过来的,主要是修改评论的获取和评论的显示样式。系统自带的评论小工具代码可以参考/wp-includes/default-widgets.php中的WP_Widget_Recent_Comments类。
魔客吧温馨提示:wordpress是一款优秀的国外系统,魔客吧给大家提供了许多 wordpress汉化主题 供大家下载,相信你会喜欢!
分享到 更多 <script type="text/javascript" id="bdshell_js"></script><script type="text/javascript">document.getElementById("bdshell_js").src = "http://share.baidu.com/static/js/shell_v2.js?cdnversion=" + new Date().getHours();</script> 本文地址:http://www.moke8.com/article-20609-1.html文章标题:自己做wordpress评论插件修改评论样式(两步美化评论内容) 收藏邀请 最新分享资源
响应式建筑建材水泥网站dede模板
dedecms模板 by moke响应式货运物流网站dedecms模板
dedecms模板 by moke生态农业酷站HTML模版
div+css模板 by hexipeng智能家居网站+手机端织梦模板
dedecms模板 by moke最新评论
相关分类
- discuz教程
- discuzx教程
- phpwind教程
- dedecms教程
- phpcms教程
- wordpress教程
- ecshop教程
- php168教程
- shopex教程
- 帝国cms教程
精品推荐
精华 中英双语响应式电子企业织梦模板
dedecms模板 by moke极品资源
极品 高端建筑装饰带手机版十配色织梦模板
dedecms模板 by moke原创模板
魔币 多配色创意metro风格企业
下载排行
- 01响应式网站网络设计公司织梦
- 02响应式货运物流网站dedecms模
- 03智能家居网站+手机端织梦模板
- 04响应式建筑建材水泥网站dede
- 05生态农业酷站HTML模版
资源分类
企业网站模板 企业网站源码 个人网站模板 个人网页模板 手机wap网站 门户网站模板 商业源码 淘宝客程序 html5网站 网站后台模板 html网页模板 学校网站模板 <script type="text/javascript">var cookieLogin = Ajax("TEXT");cookieLogin.get("connect.php?mod=check&op=cookie", function() {});</script><script type="text/javascript">_attachEvent(window, 'load', getForbiddenFormula, document);function getForbiddenFormula() {var toGetForbiddenFormulaFIds = function () {ajaxget('plugin.php?id=cloudsearch&formhash=4fee6b83');};var a = document.body.getElementsByTagName('a');for(var i = 0;i < a.length;i++){if(a[i].getAttribute('sc')) {a[i].setAttribute('mid', hash(a[i].href));a[i].onmousedown = function() {toGetForbiddenFormulaFIds();};}}var btn = document.body.getElementsByTagName('button');for(var i = 0;i < btn.length;i++){if(btn[i].getAttribute('sc')) {btn[i].setAttribute('mid', hash(btn[i].id));btn[i].onmousedown = function() {toGetForbiddenFormulaFIds();};}}}</script>联系我们 | 关于我们 | 招商加盟 | 版权声明 | 帮助中心 | 广告服务 | 网站地图
欢迎浏览魔客吧提供的 自己做wordpress评论插件修改评论样式(两步美化评论内容) 信息,若本站中的信息侵犯了您的权益,请与本站管理员联系Copyright @ 2010-2015 魔客吧 版权所有 蜀ICP备09014119号 川公网安备51050202000165号 <script type="text/javascript" src="http://tcss.qq.com/ping.js?v=1VERHASH" charset="utf-8"></script><script type="text/javascript" reload="1">pgvMain({"discuzParams":{"r2":"5238379","ui":0,"rt":"portal","pn":1,"qq":"000"},"extraParams":""});</script>
积分 0, 距离下一级还需 积分 <script type="text/javascript">_attachEvent(window, 'scroll', function(){showTopLink();});</script><script>(function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https'){ bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else{ bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s);})();</script> <script type="text/javascript"> var tipsinfo = '5238379|X2.5|0.6||0||0|7|1505358042|a5331f99c599167e2582455f5cd66c51|2'; </script> <script src="http://discuz.gtimg.cn/cloud/scripts/discuz_tips.js?v=1" type="text/javascript" charset="UTF-8"></script>