Полезные статьи о разработке сайтов от вебмастера
Категория:
Всем доброго времени суток!
Когда в комментариях к заметке есть возможность «отвечать» на комментарии – это замечательно! Древовидные комментарии помогают отследить к какому комментарию приведено высказывание, да и просто очень удобно, когда на свой вопрос можно увидеть ответ не в самом низу страницы, а возле, собственно, самого вопроса.
Для WordPress имеется специальный плагин
Всё бы хорошо, да вот только не на всех темах данный плагин будет заводиться. А именно, после установки плагина, его последующей настройке, при проверке этого творения можно увидеть следующее – кнопка «Ответить» в комментария появилась, «Аще крутяк» скажите Вы, но к сожалению нажав на кнопку оставить отзыв к комментарию не получится потому, что формы для ввода ответа просто не появляется!
Почему, собственно, не работает то?
Да потому, что данный палагин использует 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);
На этом можно закончить. Надеюсь данная статья поможет тем у кого проблемы при установке данного плагина!
Кстати, очень интересно:
Данный блог создан с целью помочь, как начинающему вебмастеру, так и опытному разработчику, в решении проблем возникающих при разработке сайтов. Здесь Вы прочитаете полезные статьи о том, как грамотно произвести SEO оптимизацию своего сайта, и найдёте важные исследования в сфере интернет-маркетинга. Научитесь писать собственные компоненты и модули для известных CMS, а также узнаете интересные методы работы с Фреймворками, CSS, HTML, jQuery и PHP. Из записей блога вы поймёте как грамотно разрабатывать макеты сайтов и что такое валидная вёрстка. БЛОГZOR – поможет Вам стать web-Гуру и понять тонкости веб-мастеринга.
Комментариев к записи: 17
Mepheshaple
12 Август 2011 в 3:19 пп
Весь инет перерыл никак не могу разобраться в чем трабла. Ваш пост просто спас! Спасибо!
ymygsig
19 Август 2011 в 11:36 пп
Помогло
Спасиб!
Andoo
31 Август 2011 в 4:57 дп
А я долго сверял шаблоны, тот где работает и там где нет, так и не разобрался сам
Спасибо!)
Игорь
20 Ноябрь 2011 в 9:07 пп
Вроде бы все сделал как вы написали, однако при нажатии на «ответить» всплывает окно с надписью (нет тега привязки называется «cancel_reply»). Что за беда? Подскажите, если не трудно, пожалуйста. Заранее благодарен.
blogz0r Ответил:
25 Ноябрь 2011 в 2:05 пп
Какую версию WP Thread Comment вы устанавливали?
Таня Ответил:
20 Ноябрь 2012 в 4:27 пп
У меня на сайте такая же проблема: всплывает окно с надписью «No anchor tag called ‘cancel_reply’.»
Помогите, пожалуйста
30 Июнь 2014 в 4:24 пп
У меня такая же проблема. Может автор всё-таки ответит и поможет разобраться???????????7
Алексей Ответил:
10 Декабрь 2014 в 5:26 пп
в качестве 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 ); мой граватар исчезает полностью. Не поможете разобраться, как сделать так, чтобы и комментарии были на месте, и граватары при них?
14 Март 2012 в 3:35 дп
<div class="comment-childs» id=»comment-[ID]«>[author] Reply:[moderation][date] at [time][content]
14 Март 2012 в 3:35 дп
Код почему-то не отображается здесь, жаль((
14 Март 2012 в 3:37 дп
У меня версия 1.4.9.4
26 Март 2012 в 1:04 пп
Спасибо, очень интересная статья
25 Октябрь 2014 в 3:36 пп
Не пойму где найти этот тег подскажите где он лежит !?
16 Ноябрь 2012 в 2:18 дп
Доброе время суток! Пытаюсь исправить работу плагина по вашему материалу, но в ночи никак не соображу что такое «ID-ВАШЕЙ-ФОРМЫ – это id формы для ввода комментариев». Где искать надо? Благодарю
15 Декабрь 2013 в 8:08 пп
А как вывести граватарки с левой стороны от имени комментатора и даты. А то в стандартных настройках они выводятся в самом верху, что не очень красиво. И что в строчке дате прописать, чтобы выводилось так: 27.08.2013
5 Февраль 2014 в 9:40 пп
Добрый день. Помогите, пожалуйста. У меня на сайтеhttp://almanac.algebraslova.com нет поля ввода комментариев!!! что мне делать?