最近有个客户询问小编如何让文章发布一个月之后自动关闭评论,其实这个功能实现起来很简单,用 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 的系统时间不正确可能造成文章评论关闭时间不正确的情况) 。