Апр
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 } ?>
Вот и все, теперь используя галочку разрешить/запретить комментарии к странице мы будем всем управлять.
Надеюсь данная статья будет Вам полезна мои уважаемые Читатели.
Рекомендовано к прочтению по теме:
Статистика записи:
Автоматическая: Популярность: 62%






10 июня 2009 в 7:42
Здравствуйте, все сделал как написано здесь, все заработало, ноесть одна проблема. Комментарии на отдельных страницах почему-то бледного цвета??? Не пойму, где это настраивается.
10 июня 2009 в 10:03
Сложно ответить на Ваш вопрос не видя действительной картины… Напишите адрес сайта или страницы где можно посмотреть, что Вас не устроило и я попробую Вам помочь!
21 июля 2009 в 20:38
Спасибо за статью, очень помогла. Простое решение и безопасное относительно дырявых гостевых книг.
А насчет поста Mike то решение в настройках шаблончика CSS.
04 Авг 2009 в 8:51
Добрый день и спасибо автору за статью. Все четко и просто. Проверено на 2.8.2 и нескольких темах.
17 Сен 2009 в 20:25
Спасибо за инструкцию, все действительно работает!
И спасибо за труд!
18 Сен 2009 в 9:06
Andrey Пожалуйста, пользуйтесь, а на счет Mike вы действительно правы, надо поработать с CSS.
Alexander Эта штука будет работать везде, просто есть тему которые поддерживают данную возможность по умолчанию. Удачного использования.
Mag_White Надо будет еще какие-нибудь инструкции по WP обращайтесь, постараюсь помочь.
07 Окт 2009 в 0:41
Спасибо, SEO-Финансист, за статью!
Быстро справился с задачей. Все работает
07 Окт 2009 в 14:06
Джек всегда пожалуйста! Главное чтобы приносило помощь и добавляло побольше свободного времени! Удачи!
15 Ноя 2009 в 12:30
Ну просто огромнейшее ВАМ спасибо за такую полезную штуку!!!!
20 Ноя 2009 в 23:52
SEO-Финансист, Спасибо большое за решение проблемы!
Вижу многим помогло, но вот у меня не получается.
Точно делаю все правильно. Строго то, что написано.
Но вот всеравно не получается сделать комментирование:
Подменил щас в теме файл comments.php на файл из дефолтной темы…Форма комментов простенькая, но появилась. Написал коммент сам себе–все проходит нормально без ошибок. Но коммента на страничке не появляется. Хотя в админке он преспокойно показывается. Попробовал логически тоже самое сделать с файлом functions.php — без изменений.
Можно попросить по мейлу помочь…Чесслово ни гугл ни форумы не помогают. Инфы помимо single.php и page.php нету попросто. А их получается недостаточно в моем случае.
Спасибо.
23 Ноя 2009 в 11:22
@Анатолий по мылу не очень удобно напишите вашу аську и я думаю я смогу вам помочь!
12 Дек 2009 в 21:34
Спасибо брат ты единственный кто объяснил как исправить эту ошибку Кстати у меня такая хрень произошла после создание шаблона в Artisteer
12 Дек 2009 в 21:52
Кстати!!! После Artisteer можно поменять в page только на comments_template(); и комментарии начинают отключатся и включатся.Может это кому нибудь пригодится. Ещё раз большое спасибо автору !!!
12 Янв 2010 в 3:03
А у меня все наоборот! Хочу запретить комментирование, убираю галочку,а их все равно можно добавлять:) Шаблон создан в Artisteer. Я так понимаю, это от него все приколы.
12 Янв 2010 в 18:23
@Andrey А вы найдите эту строчку которую я советую дописать и уберите ее из шаблона… и тогда на страницах не будет комментирования… Если что пишите помогу!
12 Янв 2010 в 22:32
Не помогало. Залез в comments.php и удалил нахрен заголовок перед формой(у вас на блоге это “Ваш отзыв”) и саму форму добавления комментария. Как же плохо не знать php:) Хотя смотрю так большинство методом тыка работает. Удалил строку-посмотрел. Не помогло-удаляешь другую и так далее:)
17 Янв 2010 в 19:14
Добрый вечер, SEO-Финансист. У меня такая проблема нету у меня файла singl.php, а файле page.php нету comments_template(); Как быть? Все пересмотрел не нашел=(
19 Янв 2010 в 13:11
@Massacre У вас видимо урезанный шаблон, ссылку на блог киньте, посмотрим что можно будет сделать! Если вы хотите добавить комментарии к странице, то вам как раз и надо будет добавить эту сточку в page.php, если же вы хотите добавить комментарии к постам(записям) или наоборт убрать, то вам либо прийдется создать правильный файл single.php, либо рабираться с файлом index.php, который в вашем случае выводит как главную страницу, так и отдельные посты вашего блога!
21 Янв 2010 в 11:14
Спасибо, не моглибы ли вы мне сказать вашу аську? Ссылка на блог есть в форме отзыва:)
21 Янв 2010 в 16:36
Спасибо, SEO-Финансист! Я разобрался
22 Янв 2010 в 17:24
@Massacre Всегда пожалуйста! А аська моя зачем? И вообще вопрос, еще актуальный?
23 Янв 2010 в 9:02
Вопрос уже не актуален, так всё получилось благодаря вам!=) Может подскажите если знаете, плагин, чтобы рандомное видео показывал?
23 Янв 2010 в 9:37
Massacre Я рад, что у вас все получилось! Плагина для вывода случайного видео я не знаю, но посмотрите вот этот может быть он вам подойдет:
23 Янв 2010 в 16:20
Спасибо, а как можно без виджета, какой код нужно вставить?
25 Янв 2010 в 9:17
Да оказалось, что еще у верхнего сайдаба код подрезан вызова виджета, исправил недавно))
25 Янв 2010 в 10:06
Massacre Чтобы вставить код без виджета, надо смотреть файлы сайдбара и вставлять в нужные места нужный код, т.е. в файле сайдбара есть функция, которая производит определение и вывод виджетов, поэтому код должен быть либо после нее либо до нее, но обязательно вынесен за эту функцию.
10 марта 2010 в 22:00
Странно, в первый раз такое вижу, у меня всё с комментариями работает) как поставил wordpress. Может это статья старая?) или в новой версии всё уже стоит) сории если чего…
11 марта 2010 в 22:34
Спасибо большое! Но мое решение к счастью оказалось еще проще
у меня в шабле, в page.php , была строка
// to enable comments, uncomment the line below
// comments_template();
раскомментирование которой помогло и на других страницах проблем нет)
спасибо еще раз за полезный материал!