加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > CMS系统 > wordpress > 正文

代码实现WordPress一键开启/关闭评论功能

发布时间:2020-12-14 14:24:15 所属栏目:wordpress 来源:网络整理
导读:由站长 通过网络收集整理的代码片段。编程之家小编现在分享给大家,也给大家做个参考。 最近关注网站评论问题,我们发现发现一些技术性文章有各种评论留言,可以看出评论功能对于一个网站还是很有必要的,但是随着国内修改部门对评论的把关

以下代码由PHP站长网 52php.cn收集自互联网现在PHP站长网小编把它分享给大家,仅供参考

最近关注网站评论问题,我们发现发现一些技术性文章有各种评论留言,可以看出评论功能对于一个网站还是很有必要的,但是随着国内修改部门对评论的把关越来越严,因此评论功能还是需要设置一键关闭或开启功能,这样才能安全有效。我们知道在 wordpress 的后台设置中有一键开启/关闭新文章的评论权限,或者对旧文章设置发布多少天后文章的评论功能自动关闭,但是最少可以设置为一天时间,这样就不够灵活了不友好不能满足我们一键关闭的目的,比如几个小时以前发布的文章就无法执行批量关闭评论了...

方法一

根据文章发布的时间来自动关闭文章的评论功能,对于旧文章可以稍微灵活一点使用以下方法:

/**

?* Wordpress一键关闭/开启评论功能

?* 超过限制天数或小时数后自动关闭WordPress文章的评论功能

?*/

function lxtx_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','lxtx_close_comments' );

上面的代码的作用是,文章发布超过 30 天后,就自动关闭这篇文章的评论功能。你可以根据自己的需要,修改第四行,改为多少天数或小时数。

方法二

根据文章的评论数量来自动关闭文章的评论功能,这个方法也不错:当评论达到一定数量后自动关闭 WordPress 文章的评论功能:

/**

?* Wordpress一键关闭/开启评论功能

?* 当评论达到一定数量后自动关闭WordPress文章的评论功能

?*/

function lxtx_disable_comments( $posts ) {

if ( !is_single() ) {

return $posts;

}

if ( $posts[0]->comment_count > 100 ) {

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

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

}

return $posts;

}

add_filter( 'the_posts','lxtx_disable_comments' );

方法三

数据库语句方法来批量关闭或打开已发布文章的评论功能,这个是对旧文章的评论功能的操作。因为是直接操作数据库,故建议在操作前备份数据库先:

批量关闭评论:

UPDATE wp_post SET comment_status=’close’

批量打开评论:

UPDATE wp_post SET comment_status=’open’

一键关闭/开启

注意,这个方法会一键关闭/开启所有文章/页面的评论功能,不论是新文章/页面还是旧文章/页面哦。

/**

?* Wordpress一键关闭/开启评论功能

?*/

function close_open_comments( $posts ) {

$postids = array('110','119');

if ( !empty( $posts ) && is_singular() && !in_array($posts[0]->ID,$postids) ) {

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

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

}

return $posts;

}

add_filter( 'the_posts','close_open_comments' );

当然,你可能会想保留 ID 为 110 和 119(留言板或友情链接)等文章或页面的评论功能,则自行对第 6 行进行发挥。最后,如果开启评论的话,则要对评论把好关,防止垃圾评论泛滥哈!

以上内容由PHP站长网【52php.cn】收集整理供大家参考研究如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读