Как в WordPress запретить оставлять комментарии к записям старше N дней

Если вы ищете материал о том, как в WordPress программно назначить автоматическое запрещение оставления комментариев и пингов ко всем записям старше N дней, то считайте, что вы его нашли.

Пожалуйста не путайте с пунктом "Автоматически закрывать обсуждение статей старше N дней" на странице админки Настройки обсуждения. Это не сходный функционал. Звучать он будет вот так: "Автоматически закрывать обсуждения к статьям старше N дней.

Смотрим следующий программный код:

<?php
add_filter('the_posts', 'avtomatichesli_zakrit_kommentarii');

function avtomatichesli_zakrit_kommentarii($zapisi) {
    $dni = 15;
    if (!is_single()) :
        return $zapisi;
    endif;
    if (time() - strtotime($zapisi[0]->post_date_gmt) > ( $dni * 24 * 60 * 60 )) :
        $zapisi[0]->comment_status = 'closed';
        $zapisi[0]->ping_status = 'closed';
    endif;
    return $zapisi;
}
?>

Сниппет нужно будет добавить в тему, файл functions.php или самописный плагин. Я использую крючок на фильтр под названием the_posts.

Настройки количества дней, по прошествии которых, с момента публикации записи комментарии будут закрыты, вы можете настроить в 15-ой строчке.





© 2012-2014 Druweb.ru. Вы можете спокойно копировать любые материалы сайта только при наличии обратной ссылки.