Перейти к содержанию

30 апреля 2009

WordPress – добавляем комментарии к странице

wp Wordpress   добавляем комментарии к странице Доброго времени суток, Читатель!

Не так давно ко мне обратился один мой друг, который ведет блог о телекоммуникационном рынке Украины, с вопросом: “Почему галочка разрешить комментирование страницы не работает?

Первое что пришло в голову, так это то, что это связано с настройкой WordPress или с файлами темы. Когда вариант с настройками WordPress был отвергнут, остался один верный вариант – виновата тема. После проверки не одного десятка тем было дано заключение, что почти у всех запрещено комментирование страниц. Но что делать тем, кто хочет разрешить комментирование и так делаем следующее:

1. Нам потребуется два файла из используемой темы: page.php (отвечает за отображение страницы) и single.php (отвечает за отображение текста записи/поста).

2) Открываем на редактирование оба файла.

3) Первое, что нам потребуется это найти в файле single.php строчку следующего содержания:

comments_template();

Данная функция является вызовом стандартного обработчика блока комментирования Worpdress.

4) Теперь нам необходимо сравнить файлы single.php и page.php и найти место куда надо вставить данную функцию в файл page.php. Делается это очень просто – сравните последовательность операторов и найдите это место.

5) Место найдено, тогда вставляем вызов данной функции, не забудьте что это код на языке программирования php поэтому вставлять нужно используя соответствующую конструкцию.

Все, теперь комментирование разрешено и для страниц.

Но мы до сих пор не можем управлять комментированием для страниц, а именно теперь комментарии будут работать на всех страницах независимо от разрешений. Вот теперь мы проделаем еще одну операцию, которая позволит разрешать и запрещать комментирование, а именно мы вставим проверку на разрешения используя стандартную функцию WordPress.

В файле page.php, в месте куда мы вставили вызов функции comments_template(); надо внести небольшие изменения, а именно вызов функции заменить на следующий код:

<?php
$comopensor =  comments_open($id);
if  ($comopensor == 1)
{
comments_template(); // Get wp-comments.php template
}
?>

Вот и все, теперь используя галочку разрешить/запретить комментарии к странице мы будем всем управлять.

Надеюсь данная статья будет Вам полезна мои уважаемые Читатели.

45 комментариев Ваш отзыв
  1. июня 10 2009

    Здравствуйте, все сделал как написано здесь, все заработало, ноесть одна проблема. Комментарии на отдельных страницах почему-то бледного цвета??? Не пойму, где это настраивается.

    Ответить
  2. июня 10 2009

    Сложно ответить на Ваш вопрос не видя действительной картины… Напишите адрес сайта или страницы где можно посмотреть, что Вас не устроило и я попробую Вам помочь!

    Ответить
  3. июля 21 2009

    Спасибо за статью, очень помогла. Простое решение и безопасное относительно дырявых гостевых книг.
    А насчет поста Mike то решение в настройках шаблончика CSS.

    Ответить
  4. Авг 4 2009

    Добрый день и спасибо автору за статью. Все четко и просто. Проверено на 2.8.2 и нескольких темах.

    Ответить
  5. Сен 17 2009

    Спасибо за инструкцию, все действительно работает!
    И спасибо за труд!

    Ответить
  6. Сен 18 2009

    Andrey Пожалуйста, пользуйтесь, а на счет Mike вы действительно правы, надо поработать с CSS.
    Alexander Эта штука будет работать везде, просто есть тему которые поддерживают данную возможность по умолчанию. Удачного использования.
    Mag_White Надо будет еще какие-нибудь инструкции по WP обращайтесь, постараюсь помочь.

    Ответить
  7. Окт 7 2009

    Спасибо, SEO-Финансист, за статью!
    Быстро справился с задачей. Все работает

    Ответить
  8. Окт 7 2009

    Джек всегда пожалуйста! Главное чтобы приносило помощь и добавляло побольше свободного времени! Удачи!

    Ответить
  9. Анна
    Ноя 15 2009

    Ну просто огромнейшее ВАМ спасибо за такую полезную штуку!!!!

    Ответить
  10. Ноя 20 2009

    SEO-Финансист, Спасибо большое за решение проблемы!
    Вижу многим помогло, но вот у меня не получается.
    Точно делаю все правильно. Строго то, что написано.
    Но вот всеравно не получается сделать комментирование: http://talian.spb.ru/?p=11
    Подменил щас в теме файл comments.php на файл из дефолтной темы…Форма комментов простенькая, но появилась. Написал коммент сам себе–все проходит нормально без ошибок. Но коммента на страничке не появляется. Хотя в админке он преспокойно показывается. Попробовал логически тоже самое сделать с файлом functions.php — без изменений.
    Можно попросить по мейлу помочь…Чесслово ни гугл ни форумы не помогают. Инфы помимо single.php и page.php нету попросто. А их получается недостаточно в моем случае.
    Спасибо.

    Ответить
  11. Ноя 23 2009

    @Анатолий по мылу не очень удобно напишите вашу аську и я думаю я смогу вам помочь!

    Ответить
  12. Bazandoz
    Дек 12 2009

    Спасибо брат ты единственный кто объяснил как исправить эту ошибку Кстати у меня такая хрень произошла после создание шаблона в Artisteer

    Ответить
  13. Bazandoz
    Дек 12 2009

    Кстати!!! После Artisteer можно поменять в page только на comments_template(); и комментарии начинают отключатся и включатся.Может это кому нибудь пригодится. Ещё раз большое спасибо автору !!!

    Ответить
  14. Янв 12 2010

    А у меня все наоборот! Хочу запретить комментирование, убираю галочку,а их все равно можно добавлять:) Шаблон создан в Artisteer. Я так понимаю, это от него все приколы.

    Ответить
  15. Янв 12 2010

    @Andrey А вы найдите эту строчку которую я советую дописать и уберите ее из шаблона… и тогда на страницах не будет комментирования… Если что пишите помогу!

    Ответить
  16. Янв 12 2010

    Не помогало. Залез в comments.php и удалил нахрен заголовок перед формой(у вас на блоге это “Ваш отзыв”) и саму форму добавления комментария. Как же плохо не знать php:) Хотя смотрю так большинство методом тыка работает. Удалил строку-посмотрел. Не помогло-удаляешь другую и так далее:)

    Ответить
  17. Янв 17 2010

    Добрый вечер, SEO-Финансист. У меня такая проблема нету у меня файла singl.php, а файле page.php нету comments_template(); Как быть? Все пересмотрел не нашел=(

    Ответить
  18. Янв 19 2010

    @Massacre У вас видимо урезанный шаблон, ссылку на блог киньте, посмотрим что можно будет сделать! Если вы хотите добавить комментарии к странице, то вам как раз и надо будет добавить эту сточку в page.php, если же вы хотите добавить комментарии к постам(записям) или наоборт убрать, то вам либо прийдется создать правильный файл single.php, либо рабираться с файлом index.php, который в вашем случае выводит как главную страницу, так и отдельные посты вашего блога!

    Ответить
  19. Янв 21 2010

    Спасибо, не моглибы ли вы мне сказать вашу аську? Ссылка на блог есть в форме отзыва:)

    Ответить
  20. Massacre
    Янв 21 2010

    Спасибо, SEO-Финансист! Я разобрался :)

    Ответить
  21. Янв 22 2010

    @Massacre Всегда пожалуйста! А аська моя зачем? И вообще вопрос, еще актуальный?

    Ответить
  22. Massacre
    Янв 23 2010

    Вопрос уже не актуален, так всё получилось благодаря вам!=) Может подскажите если знаете, плагин, чтобы рандомное видео показывал?

    Ответить
  23. Янв 23 2010

    Massacre Я рад, что у вас все получилось! Плагина для вывода случайного видео я не знаю, но посмотрите вот этот может быть он вам подойдет: ссылка

    Ответить
  24. Massacre
    Янв 23 2010

    Спасибо, а как можно без виджета, какой код нужно вставить?

    Ответить
  25. Massacre
    Янв 25 2010

    Да оказалось, что еще у верхнего сайдаба код подрезан вызова виджета, исправил недавно))

    Ответить
  26. Янв 25 2010

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

    Ответить
  27. марта 10 2010

    Странно, в первый раз такое вижу, у меня всё с комментариями работает) как поставил wordpress. Может это статья старая?) или в новой версии всё уже стоит) сории если чего…

    Ответить
  28. марта 11 2010

    Спасибо большое! Но мое решение к счастью оказалось еще проще
    у меня в шабле, в page.php , была строка
    // to enable comments, uncomment the line below
    // comments_template();
    раскомментирование которой помогло и на других страницах проблем нет)
    спасибо еще раз за полезный материал!

    Ответить
  29. Авг 1 2010

    Спасибо большое!!!!
    Очень помогло. оказывается все так просто =)))

    Ответить
  30. Авг 7 2010

    Спасибо за статью, как видите она все еще актуальна.

    Ответить
  31. Сен 11 2010

    Спасибо за статью! Быстро и просто!!! Все заработало.

    Ответить
  32. Настя
    Окт 2 2010

    Огромное спасибо за подсказки, долго думала где что исправить, оказалось все просто!!! Очень-очень-очень полезно для таких новечков, как я.

    Ответить
  33. Окт 18 2010

    Спасибо за статью! Быстро и просто!!! Все заработало.

    Ответить
  34. Анна
    Ноя 24 2010

    Спасибо огромное. Все четно и ясно. Понятно даже такому новичку как я:)

    Ответить
  35. Янв 7 2011

    Поблагодарю автора – Вы избавили меня от многочасового ковыряния в коде ) спасибо!

    Ответить
  36. Фев 4 2011

    Есть хорошая тема для wordpress – Atahualpa . Там в настройках есть галочка “Разрешить комментирование страниц” и ве замечательно выходит))

    Ответить
  37. Спасибо за статью.
    Очень помогла при создании сайтика на WP.
    Низкий поклон ))))))

    Ответить
  38. мая 29 2011

    Спасибо большое. Получилось вставить коммент в страницу, но вот галочка так и не появилась((

    Ответить
  39. июня 1 2011

    Все работает на Ура. Спасибо вам за этот пост.

    Ответить
  40. июля 19 2011

    Спасибо огромное! Действительно все заработало!
    Успехов Вам и процветания!

    Ответить
  41. Ноя 11 2011

    Спасибо огромное!))) Всё получилось!Удачи Вам!!

    Ответить
  42. Ноя 15 2011

    СПАСИБО! ПОМОГЛО!

    Ответить
  43. Ноя 22 2011

    Впервые столкнулась с шаблоном, где стандартное включение комментариев на страницах не работало :)
    Вписала нужную строчку в page.php, появилась форма для ввода комментария, вижу число оставленных каментов (были оставлены ещё до смены шаблона) в заголовке перед формой.
    Но не вижу самих комментариев!
    Что тут можно поделать, не подскажете?
    Спасибо)

    Ответить
  44. Элен
    Ноя 28 2011

    Спасибо большое! Благодаря Вам поняла как именно активировать комменты к странице.

    Ответить
  45. Дек 19 2011

    Спасибо большое! Вы единственный человек, который смог помочь, мучаюсь уже 3 месяца. Посетители спрашивают, почему нельзя оставить комментарий, а я не знаю, что ответить!)

    Ответить

Поделитесь своими мыслями, оставьте комментарий.

(required)
(required)

Внимание: HTML допускается. Ваш e-mail никогда не будет опубликован.

Подписка на комментарии