Часто вижу, что некоторые начинающие блоггеры, да и не только начинающие, используют плагин, который позволяет выводить древовидные комментарии на блоге. Пример древовидных комментариев Вы можете увидеть на моём блоге. Так вот, для того, чтобы комментарии отображались в виде дерева, совсем не обязательно ставить плагин.
Всё можно сделать самостоятельно, немного подправив тему блога. Вы ещё не задали себе вопрос «Ну и зачем это»? Дело в том, что любой плагин обращается к базе данных, тем самым создавая дополнительную нагрузку. При большом количестве плагинов, Ваш блог станет медленно загружаться, и может попросту не выдержать и «упасть».
И так, закасаем повыше рукава, чтобы не запачкаться, и приступим к делу. Добавим в файл header.php строку кода:
[php]if (is_singular() AND comments_open() AND (get_option(‘thread_comments’) == 1)) wp_enqueue_script(‘comment-reply’);[/php]Вставляем этот кусочек кода перед строкой
[php]wp_head();[/php]Далее в файл functions.php добавляем следующий код:
[php] <?phpfunction mytheme_comment($comment, $args, $depth) {
$GLOBALS[‘comment’] = $comment; ?>
<li <?php comment_class(); ?> id="li-comment-<?php comment_ID() ?>">
<div id="comment-<?php comment_ID(); ?>">
<div class="comment-author vcard">
<?php echo get_avatar( $comment->comment_author_email, 64); ?>
<?php printf(__(‘<cite class="fn">%s</cite> <span class="says">пишет:</span>’), get_comment_author_link()) ?>
</div>
<?php if ($comment->comment_approved == ‘0’) : ?>
<em><?php _e(‘Ваш комментарий появится после проверки’) ?></em>
<br />
<?php endif; ?>
<div class="comment-meta commentmetadata"><?php printf(__(‘<small>%1$s в %2$s</small>’), get_comment_date(), get_comment_time()) ?><?php edit_comment_link(__(‘<div class="entry-edit"></div>’),’ ‘,») ?></div>
<div class="comment-text">
<?php comment_text() ?>
</div>
<div class="reply">
<?php comment_reply_link(array_merge( $args, array(‘depth’ => $depth, ‘max_depth’ => $args[‘max_depth’]))) ?>
</div>
</div>
<?php } ?>
[/php]
Замечательно! Теперь открываем файл comments.php и заменяем всё, что хранится между тегами <ul class=»commentlist»> и </ul>на
[php]<?php wp_list_comments(‘callback=mytheme_comment’); ?>[/php]Теперь всё красиво заворачиваем в CSS. Для этого в файл стилей style.css добавьте следующий код:
[css] #author, #email, #url {margin:3px 10px 3px 0;
float:left;
height:25px;
color:#555;
padding:0 12px 0 12px;
background-color:#dedede;
font-size:16px;
border:1px solid #bbb;
border-radius:12px;
-o-border-radius:12px;
-moz-border-radius:12px;
-webkit-border-radius:12px;
-ms-border-radius:12px;
width:150px;
box-shadow:0 1px 1px #fff;
-moz-box-shadow:0 1px 1px #fff;
-webkit-box-shadow:0 1px 1px #fff;
-o-box-shadow:0 1px 1px #fff;
-ms-box-shadow:0 1px 1px #fff;
}
#comment {
width:95%;
color:#555;
padding:12px;
background-color:#dedede;
border:1px solid #bbb;
border-radius:12px;
-o-border-radius:12px;
-moz-border-radius:12px;
-webkit-border-radius:12px;
-ms-border-radius:12px;
box-shadow:0 1px 1px #fff;
-moz-box-shadow:0 1px 1px #fff;
-webkit-box-shadow:0 1px 1px #fff;
-o-box-shadow:0 1px 1px #fff;
-ms-box-shadow:0 1px 1px #fff;
margin:3px 0 3px 0;
font-size:16px;
font-family:Tahoma, Arial;
}
#author:focus, #email:focus, #url:focus, #comment:focus {
box-shadow:0 0 5px #007efd;
-moz-box-shadow:0 0 5px #007efd;
-webkit-box-shadow:0 0 5px #007efd;
-o-box-shadow:0 0 5px #007efd;
-ms-box-shadow:0 0 5px #007efd;
border:1px solid #777;
color:#555;
}
ul.commentlist { font-size:14px;font-family:arial;list-style:none;padding:0;text-indent:0;margin-bottom:20px;}
ul.commentlist li {
border:1px dashed #d3d3d3;
background:#eee;
padding:5px 5px 5px 5px;
margin:5px 0 0 0;
border-radius:12px;
-o-border-radius:12px;
-moz-border-radius:12px;
-webkit-border-radius:12px;
-ms-border-radius:12px;
}
ul.commentlist li.comment { padding:10px 10px 10px 10px; }
ul.commentlist li div.comment-author { font-weight: bold; }
ul.commentlist li div.vcard cite.fn a.url { text-decoration: none; }
ul.commentlist li div.vcard cite.fn a:hover.url { color: #313131; text-decoration: none; }
ul.commentlist li div.vcard img.avatar { border:1px solid #d6d6d6;width:50px;height:50px;float:left;padding:3px;background:#f4f4f4;margin-right:10px; }
ul.commentlist li div.comment-meta { font-family:arial;color:#818181;font-style:oblique;text-shadow:0 1px 0 #fff; }
ul.commentlist li p { color:#606060; clear:both;margin:20px 0 10px 0; }
ul.commentlist li ul { list-style:square; }
ul.commentlist li ul.children { list-style:none; text-indent:0; }
ul.commentlist li ul.children li.bypostauthor { background:#e3e3e3;border:1px dashed #aaa;}
ul.commentlist li.pingback { }
ul.commentlist li.bypostauthor { }
ul.commentlist li.thread-odd {
border:1px dashed #d3d3d3;
margin:5px 0 5px 0;
border-radius:12px;
-o-border-radius:12px;
-moz-border-radius:12px;
-webkit-border-radius:12px;
-ms-border-radius:12px;
}
.comment-text {
padding:5px 10px 0 0;
display:block;
}
.comment-text p {
padding:5px 10px 0 0;
display:block;
font-size:16px;
}
#respond input#submit {
color:#444;
font-weight:bold;
margin:10px 0 10px 0;
padding:5px 8px 5px 8px;
border:1px solid #888;
border-radius:12px;
-o-border-radius:12px;
-moz-border-radius:12px;
-webkit-border-radius:12px;
-ms-border-radius:12px;
background: #c1c1c1; /* Old browsers */
background: -moz-linear-gradient(top, #eeeeee 0%, #c1c1c1 100%); /* FF3.6+ */
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#eeeeee), color-stop(100%,#c1c1c1)); /* Chrome,Safari4+ */
background: -webkit-linear-gradient(top, #eeeeee 0%,#c1c1c1 100%); /* Chrome10+,Safari5.1+ */
background: -o-linear-gradient(top, #eeeeee 0%,#c1c1c1 100%); /* Opera 11.10+ */
background: -ms-linear-gradient(top, #eeeeee 0%,#c1c1c1 100%); /* IE10+ */
background: linear-gradient(top, #eeeeee 0%,#c1c1c1 100%); /* W3C */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr=’#eeeeee’, endColorstr=’#c1c1c1′,GradientType=0 ); /* IE6-9 */
}
#respond input#submit:hover {
color:#666;
background: #e3e3e3; /* Old browsers */
background: -moz-linear-gradient(top, #e3e3e3 0%, #ccc 100%); /* FF3.6+ */
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#e3e3e3), color-stop(100%,#ccc)); /* Chrome,Safari4+ */
background: -webkit-linear-gradient(top, #e3e3e3 0%,#ccc 100%); /* Chrome10+,Safari5.1+ */
background: -o-linear-gradient(top, #e3e3e3 0%,#ccc 100%); /* Opera 11.10+ */
background: -ms-linear-gradient(top, #e3e3e3 0%,#ccc 100%); /* IE10+ */
background: linear-gradient(top, #e3e3e3 0%,#ccc 100%); /* W3C */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr=’#e3e3e3′, endColorstr=’#cccccc’,GradientType=0 ); /* IE6-9 */
}
[/css]
Вот и всё. Теперь у Вас есть древовидные комментарии, которые Вы сделали сами, без использования плагина. Выглядеть они у Вас будут, также как и у меня, так как в качестве примера, я выложил стили со своего шаблона. Измените его на свой вкус и цвет, и будет Вам счастье!
Мне нравится, как ты сделал комментарии, какой я уже в очереди по записи к тебе в ученики? 🙂
Дружище, ты вне очереди 🙂
Здравствуйте. Статья очень интересная и полезная, спасибо. ))
Один вопрос по форме комментариев. Использовать [php]comment_form();[/php] для вывода формы нет желания, хочется вручную написать, по своему желанию. Не подскажете, код для основных элементов формы? В принципе форму вставить получается, но тогда перестают работать древовидные комментарии (ссылка «ответить»).
Заранее спасибо))
Приветствую. Вот пример кода формы:
[code]
<form id="commentform" action="<?php echo get_option(‘siteurl’); ?>/wp-comments-post.php" method="post">
<div id="author-data">
<p>
<input type="text" name="author" id="author" value="<?php if($comment_author!=») _e($comment_author);else _e(‘Имя’); ?>" onfocus="if (this.value == ‘<?php _e(‘Имя’);?>’) {this.value = »;}" onblur="if (this.value == ») {this.value = ‘<?php _e(‘Имя’);?>’;}" tabindex="1" />
</p>
<p>
<input type="text" name="email" id="email" value="<?php if($comment_author_email!=») _e($comment_author_email);else _e(‘E-mail’); ?>" onfocus="if (this.value == ‘<?php _e(‘E-mail’);?>’) {this.value = »;}" onblur="if (this.value == ») {this.value = ‘<?php _e(‘E-mail’);?>’;}" tabindex="2" />
</p>
<p>
<input type="text" name="url" id="url" value="<?php if($comment_author_url!=») _e($comment_author_url);else _e(‘Ваш сайт’); ?>" onfocus="if (this.value == ‘<?php _e(‘Ваш сайт’);?>’) {this.value = »;}" onblur="if (this.value == ») {this.value = ‘<?php _e(‘Ваш сайт’);?>’;}" tabindex="3" />
</p>
</div>
<p>
<textarea name="comment" id="comment" cols="50" rows="10" tabindex="4"></textarea>
</p>
<p>
<input name="submit" type="submit" id="submit" tabindex="5" value="Комментировать" />
<input type="hidden" name="comment_post_ID" value="<?php echo $id; ?>" />
<div id="cancel-comment-reply">
<small><?php cancel_comment_reply_link() ?></small>
</div>
</p>
<?php comment_id_fields(); ?>
<?php do_action(‘comment_form’, $post->ID); ?>
</form>
[/code]
Огромное спасибо, помогли. ))
Всегда пожалуйста:)
Спасибо попробуем разобраться
интересно. надо будет попробовать реализовать. спасибо
Пробуйте, если что-то не будет получаться — обращайтесь.
Круто, а разве в вордпресе от +3 древовидные комментарии не делаются из админки? Я только планирую поставить такие комменты на блог, так что стать для меня крайне полезная…
Насколько я знаю — нет. Как никак — стили придётся по любому писать.
Ладно, сейчас попробуем поставить…., Надеюсь прокатит…
Если нужна будет помощь, или совет — пиши.
У меня комментарии не древовидные. И аватаров не видно (только в админке). Но пока не рискну сделать что-то подобное, хоть и расписано подробно. А вдруг что-нибудь не так сотворю? Кто ж мне тогда все восстановит!?))) Но в закладки поставлю. На будущее.
А Вы сделайте копию файлов header.php, comment.php и functions.php. И если вдруг что-то не так сотворите, тогда просто вернётесь к предыдущему варианту.
Не работает кнопка ответить, обновляется страница и все, в чем может быть проблема?
Сразу не скажу. Нужно глянуть файл comments.php и functions.php
В txt файлах можно мосмотреть здесь:
—————
http://base.mybloge.net/del/comments.txt
http://base.mybloge.net/del/functions.txt
———
там сейчас много хлама, сайт на переработке…
было бы хорошо если бы вы мне помогли
Проверьте есть ли у Вас строчка [php]if (is_singular() AND comments_open() AND (get_option(‘thread_comments’) == 1)) wp_enqueue_script(‘comment-reply’);[/php] в файле header.php перед строкой [php]wp_head();[/php]
Если нет — добавьте. Должно помочь.
Строка была, но не работало.
Поставил другие скрипты, с полным обновлением comments.php
—
Заработало..
Походу я нашел то, что давно искал. Вот только осталось к сайту и шаблону прикрутить это.
Рад, что пригодилось.
Когда используешь бесплатные шаблоны, надо быть готовым к тому, что они частично рабочие. Лучше делать свой дизайн из дефолтных)
В принципе, если перечитать кодекс wordpress’a, то можно без проблем написать свою тему с нуля. Но без знаний PHP, HTML/CSS тут не обойтись.
А разве надо какие-то заготовки иметь, чтобы комментарии запилить? Не понял вот эти строки.
Получается у меня уже должно что-то быть написано в файле comments.php, чтобы было что заменять на другое?
Конечно. Ведь этот файл относится к теме wordpress, и уже содержит код, который отвечает за вывод комментариев.
К сожалению, я не знаю, что такое wordpress =(
Никогда не поздно с познакомится с данной CMS (в простонародье «движок»). Именно на этом движке работает данный блог.
Pingback:Древовидные комментарии.
Спасибо за статью. Все сделала — дошла до «Теперь открываем файл comments.php» и не нашла такой кусок, как Вы указали. У меня там вот что (ниже).
Подскажите, пожалуйста, куда новую команду в этом коде вставить, чтобы комментарии древовидно отражались? Спасибо огромное!
Немного отредактировал Ваш комментарий. Воспользуйтесь пожалуйста тегами (HTML, PHP) для вставки кода (они расположены над полем для ввода комментария)
Спасибо! В файле комментс.пхп вот такой код, который можно кастомизировать, но у меня не получилось правильно разместить Вашу конструкцию. Подскажите, пожалуйста, что можно отсюда вырезать, чтобы вставить Ваш код? Спасибо!
ну спасибо!!
убил админку!
Если не умеете, тогда не лезьте, обратитесь к тем, у кого в этом опыта побольше. Как вообще редактирование functions.php и comments.php может влиять на админку?
Давайте, показывайте, что у Вас там. Будем чинить 🙂
да действительно, прибивает, только не админку, а сам файл unctions.php, при попытке доступа к нему выводит ошибку Parse error: syntax error, unexpected …..functions.php on line 587
Бум разбираться в чем проблема, удаление этого файла через FZ и перезаливка его не помогают, бум разбираться.
кстати, возьми на заметку что есть такая вещь как бэкап, который надо сохранять перед тем как делать какие-то изменения, тогда и паники не будет, да у меня тоже не получается и фигня вышла, но сделать откат заняло минуту, и никаких мучений, можно экспериментировать заново )))))
предыдущий комментарий был ответом на комментарий 12132
Да, бэки, это очень хорошо. Ведь нет ничего сложного, сделать zip-архивчик с названием dd-mm-yyyy H:i.
Слушай админ, такой вопрос, у меня на блоге перестали работать древовидные комментарии, хотя в настройках админки все выставлено, не знаешь в чем может быть причина такого бага?
И еще, ты пишешь
Что именно в нем надо менять, к сожалению я пока не разбираюсь в CSS.
Как я посмотрел, древовидные комменты работают. По крайней мере, в предыдущих статьях они есть. Возможно у Вас затерся файл reply.js (или что вроде этого).
А по поводу изменения стилей для комментариев, то менять придется большую часть: цвета, шрифты, отступы. Без знаний CSS можно наломать дров. Поэтому, я бы посоветовал немного подучить CSS.
ну да, в том то и дело, что в предыдущих статьях они работали, и вдруг перестали, даже не знаю в чем может быть дело )
Убедитесь, что у вас присутствует wp_enqueue_script(‘comment-reply’) в файле header.php
[php]
<head>
…
<?php if (is_singular() AND comments_open() AND (get_option(‘thread_comments’) == 1)) wp_enqueue_script(‘comment-reply’);
wp_head(); ?>
…
</head>
[/php]
И еще, я бы посоветовал убрать «защиту от копирования» — жутко неудобно, ну а тот кто захочет скопипастить нажмет Ctrl+U.
Stafox, большое спасибо, выручил, после добавления кода в header.php древовидные комментарии вернулись на место, не знаю, правильно я его поставил или нет, но главное, что работает, если что, буду решать проблемы по мере их появления ))))
Пожалуйста.
Кстати, защиту от копирования тоже убрал, если честно, и сам уже некоторое время задумывался о снятии защиты, именно из-за того, что через просмотр кода страницы можно скопировать все, а значит я только зря нагружаю сайт плагином ))
А вот такой вот вариант использовать можно?
Что-то у меня не выходит прикрутить!
Какой именно? И что не получается?
Рассказывайте, постараюсь помочь.
Помогло, большое спасибо. Даже не думал, что в одну строчку можно все это дело реализовать (функции не ставил, ибо и с дефолтными записями не плохо).
Пожалуйста, пользуйтесь:)
Древовидные комменты были включены в настройках самого WordPress (Параметры — Обсуждение). Прекрасно все работало
Вчера к вечеру ни с того, ни с сего работать перестали. Работают только из админки. Страница обновляется, ссылка меняется, но не подгружается форма комментирования
Внедряла Ваш код — результат тот же. Ставила плагин WordPress Thread Comment — никакой реакции.
Вы упоминали в комментариях о файле reply.js. Обновила Вордпресс заново (обновляла его неделю назад) — ноль реакции.
Куда еще можно посмотреть, не подскажете?
Если все работало до этого, значит ваша тема поддерживала древовидные комментарии. Что менялось до того, как пропала вложенность комментариев? Может стили, может в файл functions.php что-то добавляли?
Я постоянно туда что-то добавляю или меняю — на моем блоге почти нет плагинов, все прописываю в тему.
Но причина не в этом. После того, как они перестали работать, я сделала откат файлов — они не заработали
Здравствуйте, может вопрос глупый, но все же. Будет ли при ответе на комментарий приходить письмо, как при работе плагина древовидные комментарии?
Да, будет. Т.к. это опция непосредственно WordPress’a. Задается в Параметры → Обсуждение
А что надо включить, я посмотрела Параметры-Обсуждение и ничего подходящего не нашла.
Отправить мне письмо, когда:
Может я не правильно объяснила, я другое имела в виду: будет ли получать письмо человек на чей комментарий ответят. Как я сейчас получаю уведомление, что Вы мне отвечаете. Ну судя по тому что я получаю, наверно и другие будут получать, если я себе сделаю такие комментарии.
А, понятно, Вы имели в виду подписку на комментарии. Для этого я использую плагин Subscribe To Comments.
Поделитесь пожалуйста кодом всего вашего файла комментариев. Я модифицировал старую тему и не понятно из-за какой части кода вложенность не работает. Не буду вдаваться в подробности как, но было выяснено, что проблема в коде этого файла. Заранее спасибо.
Через час-полтора вышлю на почту.
Прошу прощения за беспокойство, погуглив нашел решение проблемы на стороннем сайте. Если вы хорошо владеете английским, то я советую Вам дополнить свою статью материалом отсюда
http://bacsoftwareconsulting.com/blog/index.php/wordpress-cat/how-to-change-wordpress-comments-from-linear-to-threaded-nested-format/
Дело в том, что там есть код файла comment.php, заменив которым файл старой, не поддерживающей древовидные (вложенные) комментарии, темы вебмастер получит тему, которая вдруг получила полную поддержку вложенности комментирования. При чем абсолютно пропадает необходимость править функциональный файл темы, что для некоторых весьма немаловажно, ведь отказавшись от использования плагинов, но не функциональности, этот файл порой раздувается до размеров Млечного Пути. Кстати, предложенный тамошним автором код очень схож с исходным кодом старой темы, что сильно упрощает чтение кода и его дальнейшую правку и адаптацию стиля. А Вам в любом случае спасибо, именно с Вашего блога мои поиски начали приносить хоть какой-то результат. Спасибо за творчество с WordPress!
Ну хорошо, что решение нашлось. В общем не увидел ни какой разницы с тем, что описал я. Мне бы, предложенный способ не подошел, иначе бы пропал функционал моих комментариев и разделение на «Упоминания» и «Комментарии».
Здравствуйте! Есть у меня вопросик: в моей последней теме установлена подписка на комментарии, которую можно сделать только на RSS почты, но не посредственно в отдел писем, в браузере Хром, вообще этого сделать нельзя. Плагин Subscribe To Comments, разумеется, корректно не работает. Тема — HTML5 и вот таким простым способом, описанном в статье, вряд ли можно исправить положение, да еще не опытному вебмастеру. Что можете посоветовать или сделать?
Приветствую. Я вообще-то не очень понял, что Вы хотели сказать.
А комментарий Ваш, вообще пришлось из спама вытягивать.
Чтобы дать Вам ответ, задам-ка я пару встречных вопросов, чтобы разъяснить ситуацию.
Что за такое по-вашему RSS-почта?
Что такое отдел писем?
И чего нельзя сделать в Хроме?
И с чего это «разумеется, что плагин Subscribe To Comments, корректно не работает»?
И уж способ описанный в статье, не исправит положение, потому что древовидные комментарии у Вас уже есть. В чем совет-то нужен?
Вы знаете, что бы понять быстрее, вам нужно внимательно прочесть последнюю статью на моем блоге, где я рассказываю, как сделать подписку на комментарии и проделать эту процедуру. Или посмотреть скриншоты.
Особенно серьезны проблемы в Хроме. Там она точно и ни какая — не работает: у всех появляется текстовая страница ( я — не исключение) и дальнейший переход — не возможен.
Плагин Subscribe To Comments действительно не работает, точнее не работает подписка на комментарии (и функция «ответить», кажется) сообщения из которых, должны приходить в раздел писем, а не в раздел подписок на RSS-ленту( я немного не так выразился).
Как пример: Вы только что оставили коммент у меня, но попробуйте получить ответ из этого комментария на почту.
Ранее у меня была установлена другая тема и плагин работал.
Что хочу: что бы Вы отредактировали (если это возможно нужные файлы ( как описано в статье) для моей темы: дело в том, что тех строк, о которых вы пишете в файле комментс, у меня нет — так, что-то похожее… Могу прислать файл по почте. Как? Работа, с положительным результатом, оплачивается, разумеется. По договоренности.
Почему мой коммент попал к Вам в спам — не имею понятия, но и у моих, некоторых комментаторов, тоже первоначально, такое бывало.
Так, а с помощью чего сейчас реализована подписка на комментарии?
Вы хотите сделать отправку уведомлений на почту или же организовать возможность RSS трансляции комментариев?
Я хочу, что бы комментарии приходили на почту в раздел писем, для всех, кто подписывается на ответы на выбранную статью. Как у Вас.
Ответы-то приходят через диалоги, но диалоги автора с другими комментаторами могут приходить только в раздел «Подписки», а в Хроме вообще это сделать не возможно.
Вы читали мою статью?
Да, читал. Однако там все так запутанно. Вы объяснили все на примере с конкретными данными (на примере Яндекс.Почты, у которой наверняка есть интеграция с Яндекс.лентой), где расписали, что и куда должно приходить. Но не забывайте, что есть и другие почтовые сервисы, такие как Gmail и Hotmail. И там нет никакого раздела «Подписки».
Возможно поэтому между нами возникло непонимание. Вот даже сейчас: я не понял вот этого
Давайте с другой стороны, куда должны приходить, и куда приходят сейчас.
И не вините хром, это один из лучших браузеров.
Винить браузеры не входит в мою задачу 🙂
Я не о том. Просто приведу на примере обычного блога, у которого все нормально работает: Зашел в блог, оставил комментарий, установил галочку » Подписаться на комментарии» и теперь ВСЕ, любые комментарии, не только конкретные ответы лично мне, от других авторов, а так же админа, будут приходить ко мне на почту в РАЗДЕЛ «ПИСЬМА», и я могу их читать в своей почте до тех пор, пока я не пожелаю отписаться Именно так происходит у меня, когда я делаю этот реверанс на других блогах.
Что у меня: если кто-то сделает подписку, нажав на стоку «Подписаться на обновления комментариев» или нажав рядом кнопку RSS, сможет сделать это. НО, как и что у кого будет происходить, я не могу знать. Если я сам произвожу эту операцию, все происходит так, как я в статье показываю на скриншоте. И это точно возможно в Мозилле.
Там еще комментарии есть: у кого получается и как, кто не желает…
Пожалуй, для того, что бы Вам стало более понятно, нужно сделать это на моем блоге — тогда кое что прояснится.
Как объяснить еще более популярно, я не знаю…
Отписал на почту.
Круто с первого раза заработало))). После всех копи-пастов нажл обновить страницу и не поверил своим глазам!!! Комменты стали древовидными. И на форме ничего не съехало. Это волшебство)))
Поспешил с выводом.. В админке ВП теперь вместо букв отображаются кракозябры.((
Вообще странно, файлы темы никак не должны влиять на кодировку админки. Но как вариант, попробуйте в UTF-8 сохранить functions.php.
А Вы часом плагины никакие не ставили?
Сохранял в UTF-8 без ВОМ. Плагины стандартные на дату, русификацию окончаний. Я на денвере все это пробую. Решил поставить другую тему.
Подскажите, как правильно внедрять код в Функции.php. Пробовал вставить разными способами, но сайт падает…
С функцией разобрался. Но теперь не могу понять как правильно вставить стили. Просто у меня в шаблоне style.css разделен на несколько файлов.
Можете вставить в любой из них, а можете создать отдельный comments.css и потом подключить его в header.php.
Спасибо, разобрался малеха. Подключать стили надо было в главном style.css. Я вообще не знаю для чего невменяемый автор шаблона разделил стили, видимо это должно быть удобно 🙂
Ну, это очень удобно на этапе разработки, однако, когда вылаживаешь в паблик, лучше сбить все в один.
Здравствуйте еще раз. 🙂 Можно спросить как у вас сделано меню сайта ( именно рубрики двигающиеся при наведении мышкой)?
Приветствую. Вот есть статья Необыкновенное выделение ссылок с помощью CSS3
Здравствуйте.
У меня изначально в теме поддерживались древовидные комментарии. Сейчас не работают. Связываю это с недавней установкой плагина Yoast WordPress SEO
Не знаете, как можно не удаляя плагин вернуть древовидные комменты?
Может быть прописать какую-то команду где-то? Или все-таки придется осуществлять все описанное в статье?
Ну, во-первых стоит убедится действительно ли эта проблема связана с плагином.
Точно 🙂 Я его деактивировала и древовидность вернулась. Только что проверила.
А дальше как действовать?
Ну, видимо, плагин написан криво: не должен SEO плагин вмешиваться в отображение комментариев. Варианта 3:
1. Ждать его обновления — возможно это пофиксят.
2. Искать альтернативу (я использую All In One SEO Pack).
3. Либо проделать то, что описано в статье, и задать свой шаблон отображения комментариев. Однако в этом случае не могу гарантировать, что это поможет, т.к. нужно смотреть, каким образом ваш плагин «ломает» встроенную древовидность.
Не фига не работает
А пробовал вообще? Я как посмотрю на твоем блоге и так древовидные.
После редактирования файла functions.php слетает кодировка. Пичаль))
Сохраняйте документ с указанием кодировки.
Так и делал. Но увы увы. Видимо я вредный))
Может не ту кодировку указываете?
Сначала я сделал через встроенный редактор wordpress’а, кодировка слетела сразу после сохранения. Далее скачал файл functions.php с сервера и открыл его notepad++, вставил код, сохранил и обратно залил, снова такое же.
А можно скрин страницы после того, как слетела кодировка?
Как вариант, возможно, копируется какой-то спец символ. Попробуйте так: тот код, который копируете, перед вставкой поместите в текстовый редактор, например в notepad (если работаете под Windows). После чего скопируйте его из редактора в файл functions.php. Сохраняйте в нужной кодировке без BOM.
Кодировка слетает как и сайта, так и админки. Из редактора куда скинуть? Сразу в редактор вордпресса? Я же через notepad++ открыл functions.php скинул туда новый код и сохранил, потом обратно файл залил.
Из редактора в обычный notepad.exe. Он должен срезать все неизвестные ему символы. Т.к. notepad++ поддерживает utf-8, то он может и ненужный мусор сохранить.
Stafox пишет:
03.02.2014 в 12:36
Из редактора в обычный notepad.exe. Он должен срезать все неизвестные ему символы. Т.к. notepad++ поддерживает utf-8, то он может и ненужный мусор сохранить.
То есть через обычный блокнот?
Да, он самый.
Админу респект за классную статью! Сделал, но появилась проблема, даже две:
1. строчка if (is_singular() AND comments_open() AND (get_option(‘thread_comments’) == 1)) wp_enqueue_script(‘comment-reply’); в хэдере почему-то становится видимой, над рисунком. Кстати, когда сточку убрал из хэдера всё работает и без неё, но как-то с задержкой стал открываться сайт… хотя может это мне кажется.
2. Глуючит админка, когда делаешь какие-либо изменения и нажимаешь сохранить, то выносит в пустой экран…
Не подскажите, что можно исправить?
1. Значит она не заключена в теги php кода . Эта строка не делает ничего, кроме как подключает скрипт comment-reply при выполнении условия: просматривается запись, комментарии разрешены и древовидные комментарии включены.
2. Если все сделали правильно, ничего из сделанных изменений не должно давать такой результат. Посмотрите в сторону последних установленных плагинов.
Да, с первым вопросом я разобрался, надо было в теги заключить, а со вторым, что уже только ни делал…. пришлось отказаться пока…
Странно. Чтобы найти проблему нужно заглянуть в код.
скинуть? 🙂
Если действительно нужно — могу глянуть. Может еще доступ к логам веб-сервера имеется?
спасибо за желание помочь, пока не буду менять комменты, вчера колупался, вроде поставил всё, работает, но сайт стал заметно медленнее загружаться, поэтому я всё назад вернул
Здравствуйте, здорово, что нашла вашу статью, потому что у меня данный вопрос сейчас стоит очень остро. Из-за того, что были включены древовидные комментарии через админку, появилось много дублей, репли ту ком, кажется, называются, как по английски писать не помню. Но дело в том, что у меня фактически нет зрения, и мне тяжело редактировать коды, может, вы поможете мне в этом? Буду очень благодарна.
Не совсем понял, какая проблема у Вас? Можно подробнее?
КОнечно, можно. Я хочу сделать древовидные комментарии без плагина, как у вас, но из-за своего практически отсутствующего зрения и недостатка знаний в программировании боюсь лезть в код. Я бы хотела вам показать свою тему, чтобы вы мне подсказали, в какое место вставлять описанные вами коды. Теперь понятнее стало? Если что, мой скайп rada3451, добавляйтесь, поговорим в чате, и я объясню все недопонимания в подробностях. Заранее спасибо.
Могу помочь, но Вы должны понимать, что стили комментариев, возможно, не будут соответствовать дизайну Вашего ресурса. А времени на их корректировку у меня, к сожалению, нет. И Вы должны понимать, что в таком случае, весь Ваш предыдущий функционал скорее всего будет утрачен.
скажите, Стас, этот способ ещё работает? код можно использовать который вы выложили? или будут ошибки?
спасибо.
Можно, только осторожно — предварительно все забэкапив 🙂