WordPress 一键开启/关闭评论功能

2017-09-29 22:26 2,519 10 条评论 龙笑天下
Dragon主题购买

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

近期关于网站评论问题一直有各种讨论,可以看出大家对评论功能还是比较在意的,随着国内对评论的把关越来越严,这个功能应该是值得知道的:“如何一键关闭或开启网站评论功能”。

在 wordpress 的后台设置中只能一键开启/关闭新文章的评论权限,对旧文章只能设置发布多少天后文章的评论功能自动关闭,最少可以设置为一天时间,这样就不够灵活了,比如几个小时以前发布的文章就无法执行批量关闭评论了...

本站Dragon 主题已经自带集成了此功能,给您更加好的使用体验。

根据文章发布的时间来自动关闭文章的评论功能

当然,对于旧文章可以稍微灵活一点使用以下方法:

/**
 * WordPress 一键关闭/开启评论功能 - 龙笑天下
 * https://www.ilxtx.com/close-or-open-wordpress-comments.html
 * 超过限制天数或小时数后自动关闭 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 一键关闭/开启评论功能 - 龙笑天下
 * https://www.ilxtx.com/close-or-open-wordpress-comments.html
 * 当评论达到一定数量后自动关闭 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' );

上面的代码是当一篇文章的评论数量超过 100 条以后,自动关闭这篇文章的评论功能,请根据自己的需要,修改第 6 行的 100 为你想要的数量。

数据库语句方法来批量关闭或打开已发布文章的评论功能

这个是对旧文章的评论功能的操作。因为是直接操作数据库,故建议在操作前备份数据库先!

批量关闭评论:

UPDATE wp_post SET comment_status='close'

批量打开评论:

UPDATE wp_post SET comment_status='open'

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

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

/**
 * WordPress 一键关闭/开启评论功能 - 龙笑天下
 * https://www.ilxtx.com/close-or-open-wordpress-comments.html
 */
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 行进行发挥。

最后,如果开启评论的话,则要对评论把好关,防止垃圾评论泛滥哈:

纯代码实现屏蔽 WordPress 垃圾评论 跟 Spam 说再见-BG
纯代码实现屏蔽 WordPress 垃圾评论 跟 Spam 说再见

纯代码实现屏蔽 WordPress 垃圾评论 跟 Spam 说再见

垃圾评论,如今可以说是无处不在,作为 WordPress 使用者的我们,防止垃圾评论的侵扰是必须要做的。而且垃圾评论也就算了,居然还不访问我们的网站直接用脚本刷,连个 pv 值都不贡献下,太抠啦,不...
WordPress 根据评论数量来判断是否显示评论者链接-BG
WordPress 根据评论数量来判断是否显示评论者链接

WordPress 根据评论数量来判断是否显示评论者链接

本文主要讲的是你可以根据评论数来控制是否显示留言者的链接。比如说只有当评论者的评论数大于一万的时候才显示链接,如果小于一万则不显示。当然,一万只是说说而已。 这里评论数肯定要根据邮箱来统计了...
为 WordPress 评论功能增加字数长度限制-BG
为 WordPress 评论功能增加字数长度限制

为 WordPress 评论功能增加字数长度限制

很多读者在你的 WordPress 博客留言都是仅仅为了一个外链,所以他们很忙,随便发个“好文章”“顶一个”这样毫无意义的评论,虽然你可以手动删除他们,但是如果你的网站很受欢迎,删除评论也是很耗...
如何实现 WordPress 指定文章或页面允许评论昵称/内容带连接地址-BG
如何实现 WordPress 指定文章或页面允许评论昵称/内容带连接地址

如何实现 WordPress 指定文章或页面允许评论昵称/内容带连接地址

今天博客 112 兄提出了一个我认为有点奇怪的需求,也就是本文标题这个啦~~ 下班后立马折腾了下,结果死活不成功... 我是用 is_single() 和 is_page() 来判断的。 然后,...

相关参考

超过限制天数后自动关闭 WordPress 文章的评论功能 | WordPress 大学
当评论达到一定数量后自动关闭 WordPress 文章的评论功能 | WordPress 大学
WordPress 博客批量关闭和打开评论功能的方法 | 免费资源部落
WordPress 显示“评论已关闭”如何打开评论功能 - boke112

「点点赞赏,手留余香」

还没有人赞赏,快来当第一个赞赏的人吧!

声明:本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

2017-09-06

2017-10-22

发表评论

表情 格式 贴图 链接 私密 签到
Dragon主题购买阿里云特价云服务器1核2G低至86元,N4共享型服务器3年仅需799元腾讯云特价云服务器1核2G 88元/年 2核4G3M688元/3年,更有千元代金券礼包免费领!
评论
正在努力加载中...
扫一扫二维码分享
×
We use cookies on our website to give you the most relevant experience by remembering your preferences and repeat visits. By clicking “Accept”, you consent to the use of ALL the cookies. Learn more