wordpress二次开发:文章发布到一定时间后自动关闭评论

2015-01-08 13:13 阅读 135 次 评论关闭

看到这标题《wordpress二次开发文章发布到一定时间后自动关闭评论》,有读者会问,为什么要关闭wordpress文章的评论呢?理由很简单,大致有三点:

一是文章的时效性,在一定的时间内才有评论的必要和价值;

二是服务器存储的问题,试想一下,如果是大站,文章几万几十万的,都不断有评论的话,日积月累下来,该要消耗多少主机资源啊。当然,如果站长有米的话,也不必要在乎这些,而对草根站长来说,一个站正常地运营下来,确实不易;

三是为了避免广告评论,站长维护起来要方便很多,否则天天去维护评论,时间就耗费掉了,相信很多草根站长对此有深刻的体会;

那么如何让文章发布一个月之后自动关闭评论呢?

其实这个功能实现起来很简单,起关键作用的wordpress函数是time()函数,首先用time()函数获取当前时间减去文章发布时间,然后判断差是否大于设置的时限,如果大于则将评论关闭即可,详细代码如下:

function close_comments( $posts ) {

if ( !is_single() ) { return $posts; }

if ( time() - strtotime( $posts[0]->post_date_gmt ) > ( 30 * 24 * 60 * 60 ) ) { //以秒为单位,设置时间为一个月

$posts[0]->comment_status = 'closed';

$posts[0]->ping_status    = 'closed';

}

return $posts;

}

add_filter( 'the_posts', 'close_comments' );

 

将以上代码加入到当前使用的wordpress主题的functinos.php文件即可实现文章发布超过一个月后就自动关闭评论的功能(PS:如果php的系统时间不正确可能造成文章评论关闭时间不正确的情况)。

温馨提示:如果是互动性很强的网站,那就没必要关闭wordpress文章评论啦!毕竟“互动”和“客户”是首要资源嘛!

版权声明:本文著作权归原作者所有,欢迎分享本文,谢谢支持!
转载请注明:wordpress二次开发:文章发布到一定时间后自动关闭评论 | 猎微网

评论已关闭!