Wordpress自己的最近评论小工具不会显示具体的评论内容,也会显示管理员的评论。感觉不是很好,只能自己处理。这段代码复制自系统自带的评论小工具,主要是修改评论的访问和显示风格。
Wordpress自己的最近评论小工具不会显示具体的评论内容,也会显示管理员的评论。感觉不是很好,只能自己处理。花了将近一个晚上的时间处理,主要是用来了解小工具的原理,但是用起来很简单,简单两步就行。这个小工具已经通过了WordPress版本3.4.1的测试。我们来截图预览一下:
1.制作小工具
一堆代码可以保存到wordpress的/WP-content/widgets/comments.PHP文件中,而不用担心这个问题。
为什么放在这里?因为主题和插件存在于wp-content目录下,所以小工具在这里可以统一管理,也符合wordpress目录规则。
复制代码如下:
<?php</p>;
<;p>/**
*继承WP_widget_recent_comments
*那么你只需要重写widget方法
classmy_widget_recent_comments扩展WP_widget_recent_comments{
*/
函数My_Widget_Recent_Comments(){
$Widget_ops=array('classname'=>;'my_widget_recent_comments','description'=>__('显示最新评论'));
$this->;WP_widget('我的-最近-评论',__('我的最新评论','我的'),$widget_ops);
}<;/p>; <;p>/**
*小工具的渲染方法,这里是输出注释
*/
函数小工具($args,$instance){
全局$wpdb,$comments,$comments;</p>; <;p>$cache=WP_cache_get('my_widget_recent_comments','widget');</p>; <;p>如果(!is_array($cache))
$cache=array();</p>; <;p>如果(!isset($args['widget_id'])
$args['widget_id']=$this->;id;</p>; <;p>if(isset($cache[$args['widget_id']]){
echo$cache[$args['widget_id']];
退货;
}<;/p>; <;p>extract($args,EXTR_SKIP);
$output=“”;
$title=apply_filters('widget_title',empty($instance['title'])?__('最近评论'):$instance['title'],$instance,$this->;id_base);
if(empty($instance['number'])||!$number=absint($instance['number'])
$number=5;
//获取评论,过滤掉管理员本人
$comments=$wpdb-->;get_results("SELECT*FROM$wpdb->;注释,其中user_id!=2,comment_approved='1',comment_type未按comment_date_gmtDESC限制$number)的顺序('pingback','trackback');
$output。=$before_widget
if($title)
$output。=$before_title。$title。$after_title</p>; <;p>$输出。='<ulid="myrecentcomments">;";
if($comments){
//关联帖子的主缓存。(如果我们需要永久链接,请使用主要后期缓存。)
$post_ids=array_unique(WP_list_puck($comments,'comment_post_ID');
_prime_post_caches($post_ids,strpos(get_option('permalink_structure'),'%category%'),false);</p>; <;p>foreach((array)$commentsas$comment){
/avatar
$avatar=get_avatar($comment,40);
//作者姓名
$Author=get_comment_Author();
//注释内容
$content=apply_filters('get_comment_text',$comment->;评论_内容);
$content=MB_strimwidth(strip_tags($content),0,'65','...',‘UTF-8’);
$content=convert_smilies($content);
//评论文章
$post='
<;tableclass="tablayout"><tbody><tr>
<;TDclass="TDleft"style="width:55px;垂直对齐:顶部;">。$阿凡达。</TD>;
<;TDclass="TDleft"style="vertical-align:top;">
<;pclass="comment-author"><strong><spanclass="fn">。$作者。</span>。</strong>;<spanclass="says">发表于。$post。<;/tr>;</tbody>;</table>;
<;/div>;
<;divclass="comment-content"><pclass="last">。$内容。</p>;
<;/div>;
<;/李>;
}
}
$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>//Registergadget
Register_widget('my_widget_recent_comments');
将这个小工具加载到主题目录下的funtions.php文件中:
复制代码如下:
require(get_template_directory()。'/../../widgets/comments.PHP’);
2.进入后台管理,拖入评论小工具。
选择外观->;小工具,可以看到评论小工具已经加载,如下:
只需将评论小工具拖到侧边栏即可。
总结
有些朋友可能会担心代码有什么问题。这段代码复制自系统自带的评论小工具,主要是修改评论的获取和显示风格。系统自带的评论小部件代码可以引用/WP-includes/default-widgets.PHP中的WP_Widget_Recent_Comments类。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)