一些博主站长偶尔会咨询WordPress站点是否可以设置某篇文章的评论功能在多少天后关闭,理由无非就是不想让太过久远的文章还具有评论功能,以便减少垃圾评论的概率和减轻数据库的压力。所以今天boke112就跟大家说一说WordPress的定时关闭评论功能及设置提示用户评论关闭的时间。
一、设置WordPress文章评论定时关闭
登录WordPress后台 – 设置 – 讨论,在“其他讨论设置”中勾选“自动关闭发布14天后的文章上的评论功能”,其中的14可以修改为30天(或更长时间),这样就可以让发布30天后的文章自动关闭评论。
二、设置提示用户评论关闭的时间
为了提高关闭评论的用户体验,我们可以设置一个提示来告知用户WordPress文章评论关闭的时间,具体操作也很简单,具体分为两种情况:
第一种情况:所使用主题使用默认评论模板(如WP默认主题)
只需要将下面的代码添加到当前主题functions.php文件最后一个?>中即可:
- add_action( ‘comment_form_top’, ‘topic_closes_in’ );
- function topic_closes_in() {
- global $post;
- if ($post->comment_status == ‘open’) {
- $close_comments_days_old = get_option( ‘close_comments_days_old’ );
- $expires = strtotime( “{$post->post_date_gmt} GMT” ) + $close_comments_days_old * DAY_IN_SECONDS;
- printf( ‘提示:本文评论将于%s后自动关闭!’, human_time_diff( $expires ));
- }
- }
具体效果如下:
第二种情况:所使用主题修改过评论模板(如Nana主题)
1、将下面的代码添加到当前主题functions.php文件最后一个?>中:
- function topic_closes_in() {
- global $post;
- if ($post->comment_status == ‘open’) {
- $close_comments_days_old = get_option( ‘close_comments_days_old’ );
- $expires = strtotime( “{$post->post_date_gmt} GMT” ) + $close_comments_days_old * DAY_IN_SECONDS;
- printf( ‘提示:本文评论将于%s后自动关闭!’, human_time_diff( $expires ));
- }
- }
2、将以下代码添加到当前主题适当文件的适当位置即可:
- <?php topic_closes_in(); ?>
比如我将它放在文章内容的最后面,那么就将上面第2步的代码添加到文章文件single.php的内容下方,
那么,它的表现效果为
当然,我们也可以添加到当前主题的评论模板,或者侧边栏,或者其他位置,关键看个人喜好。至于样式,也是可以直接添加自己喜欢的样式,比如加粗或标红告知等等,这些就留给大家自行折腾了。