Для того, чтобы предотвратить спамеров от наводнения старых статей бесполезными комментариями, вы можете установить в WordPress закрытие комментариев после определенного количества дней:
Это может удивить некоторых пользователей, если комментарии закрыты автоматически, так что это может быть хорошей идеей, чтобы сообщить им об оставшемся времени.
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( __( '(This topic will automatically close in %s. )', 'domain' ), human_time_diff( $expires )); } }
В то время как код должен быть почти само за себя есть интересная функция не каждый разработчик WordPress может знать: human_time_diff() . Эта функция скрыта в файле …/wp–includes/formatting.php. Он первоначально планировалось использовать в темах, чтобы обеспечить более “человеческое” отношение к дате / времени поста, когда он был написан. Так что функцию, мы можем использовать его для наших нужд.