Как отключить комментарии по умолчанию для страниц?

Когда создаю новую страницу, галочки «Разрешить комментарии.» и «Разрешить обратные ссылки и уведомления.» поставлены. А на сайтах-визитках, например, комментарии у страниц, в принципе, не нужны. Да и мало когда они нужны, на самом-то деле, кроме тех случаев, когда с помощью страницы с комментариями создаётся гостевая книга.
Как сделать так, чтобы эти галочки по-умолчанию не были включены?

3 Комментарии

  1. Ну самый простой вариант – убрать из шаблона page.php функцию, отвечающую за вывод комментариев (обычно это [cci lang=”php”]< ?php comments_template(); ?>), и не волноваться, отмечены ли галочки.

    Если же на некоторых страницах комментарии все же нужны (например, для создания гостевой книги), то можно для таких страниц создать отдельный шаблон, скажем page-guestbook.php (сделать просто копию из page.php), в самом ее начале вставить

    < ?php 
    /*
    Template Name: Guest Book Page
    */
    ?>
    

    в котором оставить функцию, выводящую комментарии, и использовать этот шаблон для страниц с открытым комментированием.

  2. Обнаружил еще один интересный фильтр, приводящий комментарии на страницах в отключенное состояние. Вставлять в functions.php:

    function ncop_comments_open_filter($open, $post_id=null)
    {
        $post = get_post($post_id);
        return $open && $post->post_type !== 'page';
    }
    
    function ncop_comments_template_filter($file)
    {
        return is_page() ? dirname(__FILE__).'/empty' : $file;
    }
    
    add_filter('comments_open', 'ncop_comments_open_filter', 10, 2);
    add_filter('comments_template', 'ncop_comments_template_filter', 10, 1);
    

    Но все же вариант, который я описал выше, мне кажется более гибким.

Оставить комментарий

Ваш электронный адрес не будет опубликован.


*