Не появляется поле для ввода комментария, плагин WP Thread Comment

Категория: WordPress| Веб-программирование

6 Авг 2011

Всем доброго времени суток!

Когда в комментариях к заметке есть возможность «отвечать» на комментарии – это замечательно! Древовидные комментарии помогают отследить к какому комментарию приведено высказывание, да и просто очень удобно, когда на свой вопрос можно увидеть ответ не в самом низу страницы, а возле, собственно, самого вопроса.

Для WordPress имеется специальный плагин WordPress Thread Comment, позволяющий организовать у себя на сайте эту самую древовидную структуру комментариев почти в «два клика».

Всё бы хорошо, да вот только не на всех темах данный плагин будет заводиться. А именно, после установки плагина, его последующей настройке, при проверке этого творения можно увидеть следующее – кнопка «Ответить» в комментария появилась, «Аще крутяк» скажите Вы, но к сожалению нажав на кнопку оставить отзыв к комментарию не получится потому, что формы для ввода ответа просто не появляется!

Почему, собственно, не работает то?

Да потому, что данный палагин использует jQuery скрипт – wp-thread-comment.js.php , который находится в директории wp-content/plugins/wordpress-thread-comment. А раз он его использует, то он должен где то подключаться? Правильно!

Вся проблема в том, что вывод формы для ввода комментариев в такой «проблемной» wordpress теме осуществляется не с помощью стандартной функции wordpress – comment_form(), а с помощью собственной вёрстки формы ввода комментариев, что находится в файле comments.php вашей темы.

Итак, решение проблемы:

Вы должны вставить следующий код перед закрывающимся тегом </form>, формы ввода комментариев:

<?php
echo '<div id="reroot" style="display:none;"><small><a href="javascript:void(0)" onclick="movecfm(null,0,0);" style="color:red;">Отменить написание ответа</a></small></div>';
echo "<p><input type='hidden' id='comment_reply_ID' name='comment_reply_ID' value='0' />";
echo "<input type='hidden' id='comment_reply_dp' name='comment_reply_dp' value='0' /></p>";
echo "<script type=\"text/javascript\">\n/* <![CDATA[ */\nvar commentformid = \"ID-ВАШЕЙ-ФОРМЫ\";\nvar COOKIEHASH = \"". COOKIEHASH . "\";\n/* ]]> */\n</script>\n";
echo "<script type=\"text/javascript\" src=\"http://URL-ВАШЕГО-САЙТА/wp-content/plugins/wordpress-thread-comment/wp-thread-comment.js.php?jsver=common\"></script>\n";
?>

где

ID-ВАШЕЙ-ФОРМЫ – это id формы для ввода комментариев, а URL-ВАШЕГО-САЙТА – это адрес Вашего сайта.

Вообще это делает функция addreplyidformfield(), которая находится в файле wp-content/plugins/wordpress-thread-comment/wp-thread-comment.php, но видно она делает это только при использовании стандартной формы для ввода комментов.
Не забудьте также, что в настройках плагина поле «Comment Form ID:» также должно быть равно ID-ВАШЕЙ-ФОРМЫ, что и в коде.

Еще одним довольно занятным фактом является то, что плагин выводит комментарии содержащие даты в формате «августа 06, 2011 в 0:19пп», а в шаблоне в комментах – «06 августа   2011 в 0:19пп».

Для исправления делаем следующее:
В файле wp-content/plugins/wordpress-thread-comment/wp-thread-comment.php находим строку

$p = str_replace('[date]', get_comment_date('F jS, Y'), $p);

и заменяем её на

$p = str_replace('[date]', get_comment_date('j F Y'), $p);

На этом можно закончить. Надеюсь данная статья поможет тем у кого проблемы при установке данного плагина!

Кстати, очень интересно:

Опубликовать в twitter.com Опубликовать в своем блоге livejournal.com Поделится ссылкой на yandex.ru

Комментариев к записи: 17

Mepheshaple

12 Август 2011 в 3:19 пп

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

ymygsig

19 Август 2011 в 11:36 пп

Помогло :) Спасиб!

Andoo

31 Август 2011 в 4:57 дп

А я долго сверял шаблоны, тот где работает и там где нет, так и не разобрался сам :)
Спасибо!)

Игорь

20 Ноябрь 2011 в 9:07 пп

Вроде бы все сделал как вы написали, однако при нажатии на «ответить» всплывает окно с надписью (нет тега привязки называется «cancel_reply»). Что за беда? Подскажите, если не трудно, пожалуйста. Заранее благодарен.

blogz0r Ответил:

Какую версию WP Thread Comment вы устанавливали?

Таня Ответил:

У меня на сайте такая же проблема: всплывает окно с надписью «No anchor tag called ‘cancel_reply’.»
Помогите, пожалуйста

Дмитрий Ответил:

У меня такая же проблема. Может автор всё-таки ответит и поможет разобраться???????????7

Алексей Ответил:

в качестве cancel_reply у самого автора выступает ссылка «Отменить написание ответа», а у нее идентификатор reroot. Собственно за данную ошибку отвечает проверка на существование переменной reRootElement. В файле wp-thread-comment.js.php вам нужно
var reRootElement = $s(«cancel_reply»); заменить на
var reRootElement = $s(«reroot»);
reroot элемент вы можете найти в первой строке кода, который вам рекомендует вставить автор.
Кстати автор, спасибо. Помог.

Юлия

14 Март 2012 в 3:34 дп

Здравствуйте, у меня возникла такая проблема с этим плагином, когда я отвечаю на пост комментатора, мой текст добавляется нормально, но граватар накладывается поверх граватара комментатора. Настройка вида ответов в самом плагине выглядит так:
<div class="comment-childs» id=»comment-[ID]«>[author] Reply:[moderation][date] at [time][content]
Я пробовала удалять из кода вот эту часть echo get_avatar( $comment, 32 ); мой граватар исчезает полностью. Не поможете разобраться, как сделать так, чтобы и комментарии были на месте, и граватары при них?

Юлия Ответил:

<div class="comment-childs» id=»comment-[ID]«>[author] Reply:[moderation][date] at [time][content]

Юлия Ответил:

Код почему-то не отображается здесь, жаль((

Юлия Ответил:

У меня версия 1.4.9.4

Евгений

26 Март 2012 в 1:04 пп

Спасибо, очень интересная статья

Евгений Ответил:

Не пойму где найти этот тег подскажите где он лежит !?

Елена

16 Ноябрь 2012 в 2:18 дп

Доброе время суток! Пытаюсь исправить работу плагина по вашему материалу, но в ночи никак не соображу что такое «ID-ВАШЕЙ-ФОРМЫ – это id формы для ввода комментариев». Где искать надо? Благодарю :)

Сергей

15 Декабрь 2013 в 8:08 пп

А как вывести граватарки с левой стороны от имени комментатора и даты. А то в стандартных настройках они выводятся в самом верху, что не очень красиво. И что в строчке дате прописать, чтобы выводилось так: 27.08.2013

Катерина

5 Февраль 2014 в 9:40 пп

Добрый день. Помогите, пожалуйста. У меня на сайте http://almanac.algebraslova.com нет поля ввода комментариев!!! что мне делать?

Написать комментарий

Вы должны Войти, чтобы оставить комментарий.

О блоге

Данный блог создан с целью помочь, как начинающему вебмастеру, так и опытному разработчику, в решении проблем возникающих при разработке сайтов. Здесь Вы прочитаете полезные статьи о том, как грамотно произвести SEO оптимизацию своего сайта, и найдёте важные исследования в сфере интернет-маркетинга. Научитесь писать собственные компоненты и модули для известных CMS, а также узнаете интересные методы работы с Фреймворками, CSS, HTML, jQuery и PHP. Из записей блога вы поймёте как грамотно разрабатывать макеты сайтов и что такое валидная вёрстка. БЛОГZOR – поможет Вам стать web-Гуру и понять тонкости веб-мастеринга.

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

  • Амир: форма появилась на сайте, но письмо не приходит на [...]
  • Ян: Все нравится, единственное, раскрывающийся блок мо [...]
  • СПАСИБО!: Спасибо тебе! Замечательная функция. очень помогла [...]
  • Алексей: Подскажите, а как заставить этот скрипт отработать [...]
  • Дмитрий: Заработало, надо было малость поменять путь в conf [...]

Можно Скачать