Гаджеты

Как отключить комментарии в WordPress. Пошаговая инструкция с иллюстрациями

Как отключить комментарии в WordPress. Пошаговая инструкция с иллюстрациями

Лезть в код или не лезть? Раньше мы уже говорили, что форма комментариев немного сложна, и поэтому создатели все максимально упростили.

Функция вызова комментариев простая и не имеет параметров

Выглядит просто, но делает очень много. Фактически она создает огромное количество html кода и использует кучу php кода. Т.к. эта функция генерирует весь готовый html код, то нам придется иметь с ним дело без возможности как-то отрегулировать или настроить использованием параметров. Это может быть определенной проблемой, с учетом того, что мы не очень можем этот html код изменить. Не нравятся классы div? Не хотите использовать граватары? Желаете изменить порядок вывода строк?

Со всем этим придется смириться и скрывать ненужные вещи с помощью css. С этой точки зрения вам нужно будет определиться - по какому пути предпочтений вы пойдете:

wp_list_comments

  • легко использовать
  • встроенный функционал комментирования
  • встроенный функционал разбития на страницы
  • встроенный функционал древовидного отображения
  • css классы по умолчанию для базовых задач

пользовательская функция комментариев

  • абсолютный полный контроль над всем
  • стандартные и пользовательские css классы
  • наличие плагинов для добавления нужного функционала

Выбор метода формирования комментариев зависит от множества факторов. В общем, мы рекомендуем использовать wp_list_comments и не морочить голову. Если же вам нужно сделать что-то свое, особенное и специфическое, с желаемым функционалом и возможностями, и это желание подкрепляется знаниями, то использование пользовательских циклов даст возможность это все воплотить.

Кроме этого есть старый добрый метод вывода комментариев с помощью цикла foreach, поэтому нам еще есть с чем разобраться.

wp_list_comments() или пользовательский цикл?

До версии 2.7 цикл вывода комментариев был на базе запросов к базе данных и отображался несколько извилистым, но хорошо понятным путем.

Затем комментарии были обогащены дополнительным функционалом — постраничной навигацией и древовидной вложенностью. Эти возможности активировались через админку, и цикл foreach был заменен на уже показанную функцию wp_list_comments. Однако этот цикл по прежнему остается работоспособен, правда по понятной причине не поддерживая дополнительный функционал.

Хотя wp_list_comments и не выглядит как цикл, но она делает все тоже самое, повторяет раз за разом запросы и вывод комментариев, пока они не закончатся, размечая их соответствующими тегами.

Обычно готовый хтмл код одного комментария выглядит примерно так:

  • Имя комментатора says: August 13, 2009 at 3:08 pm

    Спасибо, у вас супер сайт!

  • Как видно, цикл вывода комментария содержит картинку-граватар, несколько дивов, много разных css классов, ссылку на автора и собственно текст комментария. Если это вас устраивает — то это хорошо, больше ничего делать и не нужно.

    В этом случае вы можете протянуть свои руки только к следующим доступным параметрам wp_list_comments:

    • размер аватары по умолчанию 32 пикселя
    • стили css — используя их названия можно изменить параметры на нужные
    • стиль вывода списка комментариев style. По умолчанию комментарии выводятся тегами неупорядоченного списка
        , но если вы вместо этого хотите использовать упорядоченный список , то используйте такой параметр
      • тип type — строковый параметр, отвечающий за отображаемые комментарии. Доступные параметры — all, comment, trackback, pingback, pings. Pings означает, что будут выводиться вместе и трекбеки, и пингбеки. По умолчанию параметр равен all, т.е. все комментарии отображаются.
      • текст ответа reply_text — определяющий, что будет написано на ссылке ответа на комментарий, обычно «Ответить»
      • текст авторизации login_text — отображается в случае, если для ответа необходимо авторизироваться на сайте, обычно «Авторизируйтесь для комментирования»
      • callback — имя пользовательской функции для отображения комментариев.
      • Дополнительные параметры, доступны

      Это немного, но в большинстве случаев достаточно для минимально необходимых модификаций. Если нужно больше, то придется использовать пользовательский цикл либо вмешиваться в php код, написанный в comments.php, либо добавлять нужный функционал в functions.php.

      Шаманим в functions.php

      Для начала укажем в comments.php, что мы будем использовать свою пользовательскую функцию

      Теперь создадим в functions.php свою пользовательскую функцию