Здравствуйте, уважаемые читатели блога Goldbusinessnet.com! Сегодняшний пост будет посвящен настройке комментариев для сайта WordPress c помощью редактирования файлов текущей темы (тут о загрузке и установке тем для Вордпресс подробнее) и без использования плагинов. Я уже неоднократно отмечал, что замена расширений Вордпресс кодами дает возможность снизить нагрузку на сервер хостера и тем самым дать лишний плюс в деле оптимизации проекта.
По этой причине я буду постоянно давать материал, который позволит найти пути для замены того или иного расширения использованием разнообразных функций WordPress. В сегодняшней публикации я расскажу о тех изменениях, которые я предпринял на своем блоге для того, чтобы оформление комментариев выглядело симпатично и удобно для пользователей.
Кстати, несмотря на мое стремление к сокращению расширений, некоторые из них весьма функциональны и полезны. Кроме того, ведь должен всегда быть выбор, поэтому предлагаю все-таки ознакомиться с материалом по настройке WordPress комментариев с помощью плагинов Comment form Quicktags и WP Monalisa. Также неплохо бы обеспечить читателям возможность подписаться на комментарии с помощью расширения Subscribe to Comments.
Ко всему нужно подходить взвешенно, есть расширения, без которых точно невозможно обойтись. Если коснуться темы оформления комментариев, то обязательным, на мой скромный взгляд, безусловно, является плагин WordPress Akismet для защиты от спама в комментариях. С ним вы будете чувствовать себя комфортно.
Но продолжим. В общем-то, древовидные комментарии, пример которых вы можете наблюдать на блоге Goldbusinessnet.com, на мой взгляд очень удобны и функциональны как для админа, так и для читателей, поскольку позволяют легко отслеживать ветки общения с тем или иным пользователем. Далее я объясню, как отредактировать коды файлов вашей темы, чтобы настроить комментарии WordPress на свой вкус.
Настройка комментариев для сайта WordPress посредством редактирования файлов comments.php и functions.php
Прежде всего, те, кто еще не в курсе, о чем речь, советую ознакомиться с моим мануалом об устройстве файловой системы шаблонов темы WordPress, это может оказаться весьма полезным. Прежде всего отмечу, что в сегодняшней публикации я познакомлю вас с замечательной функцией, которая позволит обеспечить гибкость в отображении комментариев.
В чем же заключается эта гибкость? Да в том, что все изменения, которые вы будете вносить в файлы темы WordPress, сохранятся и после обновления текущей версии движка. В интернете очень часто можно встретить советы, и весьма конструктивные, которые предполагают редактирование файлов ядра Вордпресс (например, в нашем случае, comment-template.php, comment.php, отвечающие за вывод комментариев).
Но все дело в том, что после обновления движка все эти изменения сойдут на нет и придется снова их повторять, что крайне неудобно. А вот однажды отредактированные файлы шаблона вашей темы (для нашего случая это файлы single.php, comment.php, functions.php) останутся неизменными и после обновления.
Прежде, чем приступить к описанию редактирования файлов темы, которые выводят комментарии WordPress, хочу предупредить, что перед внесением изменений обязательно сохраняйте копии старых файлов, чтобы подстраховаться. Если даже напортачите, всегда сможете вернуться к предыдущему варианту. Лучше всего использовать для этих целей функциональный редактор notepad++, который просто незаменим в качестве инструмента вебмастера.
Итак, перехожу к делу. Движок WordPress генерирует отображение комментариев на блоге по умолчанию. Но для того, чтобы обеспечить выше упомянутое гибкое решение, можно составить свой вариант вывода комментариев с помощью функции mytheme_comment, содержание которой я позаимствовал на блоге уважаемого мной Андрея Морковина. Эту функцию нужно вставить в файл functions.php текущей темы (чтобы не ошибиться, вставьте в самый конец):
function mytheme_comment($comment, $args, $depth) { $GLOBALS['comment'] = $comment; switch ( $comment->comment_type ) : case '' : ?> <li <?php comment_class(); ?> id=&quot;li-comment-<?php comment_ID() ?>&quot;> <div id=&quot;comment-<?php comment_ID(); ?>&quot;> <div class=&quot;comment-author vcard&quot;> <?php edit_comment_link( __( 'Редактировать' ), ' ' ); ?> <?php echo get_avatar( $comment->comment_author_email, $args['avatar_size']); ?> <?php printf(__('<cite class=&quot;fn&quot;>%s</cite> <span class=&quot;says&quot;>says:</span>'), get_comment_author_link()) ?> </div> <div class=&quot;comment-meta commentmetadata&quot;> <a href=&quot;<?php echo esc_url( get_comment_link( $comment->comment_ID ) ) ?>&quot;><?php printf(__('%1$s at %2$s'), get_comment_date(), get_comment_time()) ?></a> </div> <?php if ($comment->comment_approved == '0') : ?> <div class=&quot;comment-awaiting-verification&quot;><?php _e('Your comment is awaiting moderation.') ?></div> <br /> <?php endif; ?> <?php comment_text() ?> <div class=&quot;reply&quot;> <?php comment_reply_link(array_merge( $args, array('depth' => $depth, 'max_depth' => $args['max_depth']))) ?> </div> </div> <?php break; case 'pingback' : case 'trackback' : ?> <li class=&quot;post pingback&quot;> <?php comment_author_link(); ?> <?php edit_comment_link( __( 'Редактировать' ), ' ' ); ?> <?php break; endswitch; }
Теперь, если что-то вас не устраивает, всегда можно внести соответствующие изменения в эту функцию и все они будут сохранены даже после установки свежей версии движка Вордпресс. То есть эта функция будет реализовывать комментарии WordPress по умолчанию, так что изменения будут видны только тогда, когда вы их реализуете.
Однако пока эта функция не работает. Чтобы ее задействовать, нужно обратиться к файлу comments.php и найти там следующую строчку (напомню, используйте редактор notepad++, который очень удобен для редактирования):
&amp;lt;?php wp_list_comments(); ?&amp;gt;
Теперь в качестве дополнения укажем массив $args для функции wp_list_comments и несколько необходимых строк этого массива со значениями. Вся эта конструкция будет выглядеть следующим образом:
<?php $args = array( 'avatar_size' => 45, 'reply_text' => 'Ответить на комментарий', 'callback' => 'mytheme_comment', ); ?> <ul class="comments-list"><?php wp_list_comments($args); ?></ul>
Где строчки со значениями означают следующее:
- 2 строка - увеличивает размер аватара (сущность которого - граватар, если он, конечно, создан пользователем) до 45 пикселов (при желании указать свой), в то время как размером по умолчанию является величина в 32 пиксела. Если вы хотите оставить дефолтный размер, то эту строчку можно удалить;
- 3 строка - выводит текст ссылки для ответа на комментарий;
- 4 строка - значение 'callback' указывает, что все комментарии будут выводится в соответствии с функцией 'mytheme_comment', содержание которой было прописано в файле functions.php. Если эту строчку удалить, то WordPress будет обращаться к файлам ядра, где находится запись стандартного вывода комментариев.
Это далеко не все, что можно сделать, хотя для меня этого оказалось пока достаточно. Со всеми возможными значениями массива $args для функции wp_list_comments можете познакомиться на странице Codex WordPress.
Очень часто необходимо поменять надпись с числом комментариев, которая, к сожалению, по умолчанию выводится некорректно на странице со статьей. Я имею ввиду неправильное склонение, типа «4 комментариев», которое режет глаз и нарушает правила грамматики русского языка. Для этого в месте, куда необходимо вывести данную надпись, необходимо вставить вместо кода, отвечающего за вывод комментариев, следующую строчку в файл comments.php:
<?php plural_form(get_comments_number(),array('комментарий','комментария','комментариев'));?>
Обычно она следует за такой строкой:
<?php if ($comments) : ?>
Кроме этого, необходимо прописать соответствующую функцию в файле functions.php, чтобы все это дело заработало (можно опять же это сделать в самом конце после окончания записи вставленной ранее функции mytheme_comment):
function plural_form($number, $after) { $cases = array (2, 0, 1, 1, 1, 2); echo $number.' '.$after[ ($number%100&gt;4 &amp;amp;&amp;amp; $number%100&lt;20)? 2: $cases[min($number%10, 5)] ]; }
Эта функция позволит отображать записи с числом комментариев в правильном склонении: «1 комментарий», «2 комментария», «5 комментариев» и т.д. Чтобы у начинающих вебмастеров не возникла путаница в голове, дам вариант файла comments.php моей темы после всех этих манипуляций:
<?php // Do not delete these lines if (post_password_required()) { echo '<p class=&quot;nocomments&quot;>This post is password protected. Enter the password to view comments.</p>'; return; } $oddcomment = &quot;graybox&quot;; ?> <!-- You can start editing here. --> <?php if ($comments) : ?> <h5><?php plural_form(get_comments_number(),array('комментарий','комментария','комментариев'));?> </h5> <?php $args = array( 'avatar_size' => 45, 'reply_text' => 'Ответить на комментарий', 'callback' => 'mytheme_comment', ); ?> <ul class=&quot;comments-list&quot;><?php wp_list_comments($args); ?></ul> <?php paginate_comments_links() ?> <?php else:?> <?php if (comments_open()) : ?> <!-- If comments are open, but there are no comments. --> <?php elseif (!is_page()) : // comments are closed ?> <!-- If comments are closed. --> <h4>Comments are closed.</h4> <?php endif; ?> <?php endif; ?> <?php if (comments_open()) : ?> <?php $comments_args = array( 'comment_notes_after' => '', ); ?> <?php comment_form($comments_args); ?> <?php endif; ?> <?php show_manual_subscription_form(); ?>
Обращаю ваше внимание на то, что полностью копировать содержание comments.php я не советую, поскольку темы у всех разные. Просто внимательно посмотрите, куда вставить массив для для функции wp_list_comments (строки 13-17) и plural_form (строка 11). Далее даю обе функции, которые мы вставили в файл functions.php:
<?php function mytheme_comment($comment, $args, $depth) { $GLOBALS['comment'] = $comment; switch ( $comment->comment_type ) : case '' : ?> <li <?php comment_class(); ?> id=&quot;li-comment-<?php comment_ID() ?>&quot;> <div id=&quot;comment-<?php comment_ID(); ?>&quot;> <div class=&quot;comment-author vcard&quot;> <?php edit_comment_link( __( 'Редактировать' ), ' ' ); ?> <?php echo get_avatar( $comment->comment_author_email, $args['avatar_size']); ?> <?php printf(__('<cite class=&quot;fn&quot;>%s</cite> <span class=&quot;says&quot;>says:</span>'), get_comment_author_link()) ?> </div> <div class=&quot;comment-meta commentmetadata&quot;> <a href=&quot;<?php echo esc_url( get_comment_link( $comment->comment_ID ) ) ?>&quot;><?php printf(__('%1$s at %2$s'), get_comment_date(), get_comment_time()) ?></a> </div> <?php if ($comment->comment_approved == '0') : ?> <div class=&quot;comment-awaiting-verification&quot;><?php _e('Your comment is awaiting moderation.') ?></div> <br /> <?php endif; ?> <?php comment_text() ?> <div class=&quot;reply&quot;> <?php comment_reply_link(array_merge( $args, array('depth' => $depth, 'max_depth' => $args['max_depth']))) ?> </div> </div> <?php break; case 'pingback' : case 'trackback' : ?> <li class=&quot;post pingback&quot;> <?php comment_author_link(); ?> <?php edit_comment_link( __( 'Редактировать' ), ' ' ); ?> <?php break; endswitch; } function plural_form($number, $after) { $cases = array (2, 0, 1, 1, 1, 2); echo $number.' '.$after[ ($number%100>4 &amp;&amp; $number%100<20)? 2: $cases[min($number%10, 5)] ]; }
Итак, нашими стараниями мы получили свой вариант комментариев, которые будут выводится движком WordPress и кои в дальнейшем можно будет редактировать и подстраивать под себя. А с помощью вставленной функции plural_form мы добились, что надпись с числом комментариев будет отображаться в соответствии с правилами грамматики русского языка.
Стили CSS для оформления комментариев WordPress
Ну, а теперь необходимо призвать на помощь стили CSS, чтобы соответственно вашему желанию придать нужный вид комментариям. Для этих целей очень подходит замечательный плагин Firebug для вэб-браузера Мазила Фаерфокс (здесь информация, как скачать и настроить этот популярный браузер), который просто незаменим при редактировании HTML и CSS кода и аналоги которого уже встроены во всех последних модификациях других популярных web-браузеров (Опера, IE, Google Chrome).
Для вывода комментариев WordPress по умолчанию прописаны соответствующие классы и идентификаторы, правила CSS для которых можно изменить путем редактирования файла style.css. Если открыть любую страницу Вордпресс блога, где есть комментарии, то с помощью выше упомянутого Firebug можно поэкспериментировать путем редактирования стилей с оформлением выводимых WordPress комментариев. Я же воспользовался его аналогом в Хроме:
Так у меня на блоге выглядели блоки древовидных комментариев, которым соответствовали стили классов (class) и идентификаторов (id) для моей темы Вордпресс. Если взгляните на код comments.php, то строчка вывода всего блока комментариев WordPress там обрамлена в контейнер ul с прописанным классом:
<ul class="comments-list"><?php wp_list_comments($args); ?></ul>
После работы движка Вордпресс происходит интерпретация этой части PHP кода в HTML код и в браузере происходит отображение соответствующего элемента вебстраницы. Таким образом, между открывающим и закрывающим тегами ul с помощью функции wp_list_comments($args) будут отображаться все комментарии.
По аналогии, если вы посмотрите на файл functions.php, то обратите внимание на строчку:
<li <?php comment_class(); ?> id="li-comment-<?php comment_ID() ?>">
Это кусок кода PHP отвечает за вывод ветки комментариев WordPress, то есть если происходит какой-то диалог на определенную тему пользователя с администратором. Благодаря таким разветвлениям очень легко отслеживать общение между конкретными пользователями. И для каждой ветки также прописаны определенные классы.
Но в данном случае нас интересует оформление отдельного комментария. Для того, чтобы улучшить внешний вид каждого из комментариев, я добавил некоторые свойства для уже имеющегося класса "comment-body" в файл style.css темы и полностью правило CSS для него стало выглядеть так:
.comment-body { border: 1px solid #bbb; /* Толщина, стиль и цвет линии границы */ border-radius: 8px; /* Радиус закругления границы */ padding: 10px; /* Поля вокруг текста */ }
После внесения этих изменений комментарии получили такое оформление:
Вы также можете поковырять по своему усмотрению правило стилей для соответствующего класса: изменить значения свойств, добавить новые и т.п., благо Firebug и его аналоги для других популярных браузеров позволяют воочию наблюдать результаты экспериментов, притом что реальные изменения в файлах не происходят, эти изменения можно сделать уже после получения окончательного варианта.
Выделение комментариев админа на блоге WordPress
Ну и в заключительной части сегодняшней публикации я хотел бы поделиться с вами, уважаемые читатели, тем, как мне удалось выделить цветом свои комментарии на блоге без применения плагинов. Честно скажу, решение отыскал не сразу, но ослиное упрямство оказалось сильнее желания воспользоваться каким-нибудь подходящим для этих целей расширением.
Возможно, для начинающих еще сложно разобраться во всех этих хитросплетениях и комбинациях с файлами темы и проще воспользоваться плагином, установка и настройка которого займет минуты. Например, с этой задачей может легко справиться Simple Author Highlighter. Кому еще тяжело втянуться в редактирование файлов темы для корректной настройки комментариев WordPress, может, конечно воспользоваться им, ну а для любознательных вроде меня следует продолжение.
Не знаю, возможно, для некоторых тем, где нет древовидных комментариев, эта задача окажется простой. Но я уже отмечал причины, по которым не желаю отказываться от такого вида комментариев и, думаю, читатели блога одобрят такое решение. Поэтому перехожу к сути, а именно к описанию моих изысканий, конечным результатом которых явилось выделение комментариев админа цветом. Взгляните на файл functions.php и найдите в составе функции mytheme_comment такую строчку:
<div id="comment-<?php comment_ID(); ?>">
Этот кусок кода выводит одинаково оформленные комментарии, независимо от того, кому они принадлежат. Однако, если прописать в файле style.css различные классы для комментариев читателей и ответов админа, то возможно их разделить внешним видом. Например, для общих комментариев мы оставим класс «comment-body», который уже имеется. Для комментариев администратора создадим новый, скажем, класс «adm_comment-body», однако воспользуемся правилом группирования CSS и оставим для него уже имеющиеся значения:
.comment-body, .adm_comment-body { border: 1px solid #bbb; /* Толщина, стиль и цвет линии границы */ border-radius: 8px; /* Радиус закругления границы */ padding: 10px; /* Поля вокруг текста */ }
Хотя вы можете поставить другие значения и сделать, например, рамку вокруг текста комментария толще, другого цвета или увеличить поля вокруг текста, тут дело вкуса. Я же решил просто выделить свои комментарии цветом. Для этого я отдельно прописал свойство color для класса «adm_comment-body»:
.adm_comment-body { background: #e2e9eb; }
Прописали мы отдельно свойства CSS для сообщений администратора, но этого еще недостаточно. Нужно, чтобы WordPress как-то прореагировал на наши действия и начал выводить комментарии админа соответствующим образом. Вот теперь строчку в файле functions.php для функции mytheme_comment:
&amp;lt;div id=&amp;quot;comment-&amp;lt;?php comment_ID(); ?&amp;gt;&amp;quot;&amp;gt;
Заменяем на такую:
<div id="comment-<?php comment_ID(); ?>" class="<?php if ( get_comment_author_email() == get_the_author_email() ) echo adm_; else echo $oddcomment; ?>comment-body">
Если интерпретировать эту запись, то здесь заложено условие: если автором сообщения является администратор блога, то к выводимому комментарию применяется класс «adm_comment-body». Все, задача решена, можете в этом убедиться:
Да, объемный получился пост, хотя изначально надеялся, что ограничусь несколькими сотнями слов. Но так получается, что стратегия блога Goldbusinessnet.com рассчитана в первую очередь на начинающих вебмастеров и мне кажется, что некоторые вещи необходимо разжевывать до мелочей. Если вам нравится мой стиль изложения, можете оформить подписку на получение свежих материалов, тем более, что они не заставят себя долго ждать.
очень полезная информация, спасибо
комментарии в тему
http://webmee.ru/pljusy-i-minusy-kommentariev-k-postam-wordpress/
Как сделать такую форму для комментариев? Смотреть фото https://prnt.sc/qnkuv7
Поля: Имя и Email - появляются после нажатия на поле для ввода текстового сообщения.
Спасибо, интересная статья. Я как-то тыкался с настройкой комментариев, потом немного надоело, все равно не получается сделать так как хотелось бы.. Недавно наткнулся на AnyComment, вроде бы пока полет нормальный! Советую попробовать.
Артем, я проверил, содержание заголовка повторяется 3 раза на странице, это приемлемо. Я немного не понял в отношении поиска. Если вставить заглавие Вашей статьи в поисковую строку, то Яндекс, например, выдаст результаты, включающие ссылки на страницы различных ресурсов, где ссылка на Вашу статью будет на первом месте, что логично. Но откуда Вы взяли 20 повторов? Мне непонятно. Поясните.
Игорь, помогите пожалуйста разобраться новичку. Недавно решил проверить страницу сайта на СЕО-оптимизацию (резко упала в поиске) и подсчитать точное вхождение заголовка (H1) в тексте статьи. Каково же было мое удивление когда я увидел цифру 23. Что я сделал: скопировал заголовок и через Ctr+F вставил в его в поиск. В статье он повторялся всего 2-3 раза, а остальные 20 раз - это комментарии статье. т.е. в самих комментариях его посетители не пишут естественно, но поиск его находит и подсвечивает в ползунке справа. На других блогах такого нет! Скажите это правильно или нет? Нужно это исправлять и как? Заранее спасибо, а вот и страница сайта: http://zarabotkionline.ru/zarabotok-v-internete-bez-vlozhenij-i-priglashenij-500-rublej-v-den/
Наталья, видимо, itemprop прописан в шаблоне comments.php Вашей темы, там и надо искать.
Ух сколько комментариев. Слабо надеюсь, что подскажете мне решение проблемы. Поставила Ваш код. Работает (ТТТ). Спасибо. Немного со стилями как-нить доделаю. Сейчас более глобальная проблема. Если прогонять мои страницы с комментариями через w3, то страницы с комментами (например, https://nataliablogs.ru/9481-bangkok-edem-v-tailand-s-detmi-semeynye-razvlechenia-pattaya/) дают ошибку из-за того, что в шаблоне на картинку граватара код
Не подскажете, как убрать itemprop?
Понимаю, что, если совсем аватарки убрать, то проблема решится, но хочется, чтобы и "волки были сыты..."
Сложно все, с плагином попроще. Но конечно потом жизнь может усложниться. Как то всегда плохие воспоминания о плагинах.
Вот вам еще одна альтернатива disqus, - getrate.me.
Кирилл, честно говоря, я не тестировал. Но вопрос в тему, стоит попробовать.
И сразу еще один вопрос. Поддерживает ли такой механизм созданий комментариев тип загрузки lazy load? Ведь все это делается для ускорения загрузки.
Ясно, с картинкой все стало понятно:)
Добрый день! Спасибо за информацию, уже долго ищу альтернативу Дискусу. Такой вопрос: не пытались ли Вы добавить возможность логиниться через социальные сети? Ведь это очень удобно. И еще я не совсем понял, как у некоторых пользователей в комментариях появляются картинки? Ведь фактически тут и регистрации вроде нет. Спасибо.
Диана, похоже, код не отобразился до конца, поскольку Вы не заключили его между [php] и [/php]. Сразу тяжело выявить причину, потому как их может быть много. Скажите для начала, не редактировали ли Вы шаблоны темы непосредственно перед появлением этой проблемы?
'themonic_comment', 'style' => 'ol' ) ); ?>
так в файле comments.php темы реализованы комментарии. Игорь, подскажите, пожалуйста, почему могут не выводится комментарии на блоге, и плюс они попадают под другие посты в админке
Посмотрела все комментарии к вашему посту, не нашла ответа.
Спасибо, буду искать в чем может быть дело. У меня проблема аналогичная проблеме Анатолия.
А нИ проще вывести саму функцию комментирования в тему?? и править на здоровье))
Здравствуйте, Игорь. На днях обнаружил, что на моем сайте форма с комментариями спряталась в подвале. Торчит только шапка. При клике на нее форма выпрыгивает, но при этом вся страница с записью сдвигается вверх и начало страницы прячется под шапкой сайта. Чтобы посмотреть начало статьи, нужно обновлять страницу. После этого появляется статья, а комментарии опять прячутся в подвал. Если не трудно, зайдите на мой сайт и посмотрите в любой статье. Подскажите пожалуйста, в чем проблема.
Гани, ошибка 500 (Internal Server Error) может быть связана с некорректным редактированием файлов темы Вордпресс, с установкой какого-либо плагина или с неправильно внесенной информацией в файл .htaccess. Поскольку в вашем случае эта ошибка возникает при отправке комментария, то, скорее всего, причиной является некорректный код в шаблоне comments.php либо какой-либо фрагмент в functions.php.
Подумайте как следует, что Вы в последнее время редактировали, это может быть причиной проблемы. Если ничего не приходит на ум, войдите в свой аккаунт хостинга и попытайтесь найти информацию о логах ошибок. Скорее всего, там Вы узнаете причину.
Здравствуйте Игорь, у меня проблемка(((
Дело в том, что при отправке коммента аыходит ошибка 500, что делать и как ее устранить?
Спасибо за информацию
Отличная статья! Искал -- где искать ) и как убрать слово "says" в комментариях! Спасибо!
В таком случае необходимо прописать свойства для каждого из админов.
Есть такой вопрос, обычно на сайте несколько администраторов, хотелось бы чтобы выделение цветом шло для каждого из них, а по сути получается выделение только комментов автора блога (т.е. суперадмина). Что не очень хорошо.
Спасибо большое за статью. Все очень понятно и подробно расписано. Пойду пробовать! )
Пожалуйста, Сергей. Не ошибается тот, кто ничего не делает. Главное, все получилось. Это очень важно, когда делаешь своими руками, ведь опыт великая вещь. 🙂
Спасибо большое за инфу. Создал свой блог, такая подписка явно смотриться лучше. Правда сначала напортачил, не туда немного код всунул. Но потом все исправил, все работает спасибо!
Хорошо, Алексей, я подумаю. 🙂
Спасибо.
Игорь, хотите попробовать для вашего сайта? Предоставлю купон на бесплатную лицензию. Если понравится — надеюсь, поддержите нас постом/обзором
Спасибо, Алексей, думаю, это полезная информация и читатели вправе узнать о ней. Тем более, как раз по теме статьи.
Здравствуйте!
Мы разработали один из лучших по функциональности плагинов для комментирования под ВП: http://decomments.com.
Предлагаю ознакомиться с подробным обзором: http://olexiyfedorov.com/blog/2015/03/04/de-comments-launch/
Евгений, для начала откройте инструмент разработчика (например, для Хрома можно просто нажать клавишу F12, выделите нужный элемент (в вашем случае надпись "Добавить комментарий") щелкните правой кнопкой и из выпадающего меню выберите "Просмотр кода элемента".
Внизу страницы появится окно, в котором будет отображен выбранный элемент. Посмотрите, какой class или id у него прописан. Далее открывайте NotePad++, соединитесь со своим хостингом по ФТП, пройдите до шаблонов Вашей темы, которую используете.
Далее попробуйте открыть файл, в котором может быть код для отображения нужного элемента (обычно за комментарии отвечает шаблон COMMENTS.PHP, но также функция может быть прописана и в FUNCTION.PHP). Далее с помощью поиска Нотпада попробуйте найти класс или идентификатор, который был отражен для данного заголовка h3 и просто уберите его.
Однако, после этого придется отредактировать стили CSS, иначе надпись будет отображаться некорректно. Например, можно заключить эту надпись в контейнер DIV и прописать для него стили в STYLE.CSS. Также можно просто удалить всю надпись и сохранить файл. Только не забывайте делать резервную копию старой версии редактируемого шаблона, чтобы не нажить проблем.
Привет! а как убрать заголовки Добавить комментарий перед формой ввода данных для комментария? или хотя бы убрать этот h3 никому ненужный
Спасибо за труд статья очень помогла, все расписано, попробовал и все получилось, комментарии без плагинов, это просто неоходимо для меньшей нагрузки на сайт WordPress.
Отличная статья. Спасибо за труд, сегодня буду пробовать настройку комментариев, ведь без использования плагинов в wordpres, это всегда хорошо.
Хорошо, Борис, спасибо за информацию.
Игорь, уже вроде бы все обошлось. Выскакивали ошибки связанные с кодировкой php. Несколько раз перезакачивал function.php на сайт, но помогло сохранение файла в программе PSPad. Проблема была пробелах и пустых строчках в этом файле. Не хочу сказать ничего такого, может это совпадение или у меня что-то было не так, но все-таки проверьте Ваш код комментариев на wordpress, т.к. у меня сразу после вставки пошли проблемы - возможно где-то пустые строки или незакрытые цикли.
Борис, я так понимаю, после возврата прежнего содержания function.php все равно выдает ошибку. Какую? Возможно, она не связана с Вашими действиями.
после вставки кода в файл function.php сайт попросту перестал работать - выдает ошибку
Parse error: syntax error, unexpected 'case' (T_CASE) in /home/zadvizhk/public_html/wp-content/themes/twentyfourteen/functions.php on line 572
подскажите, что делать?!
закачал на сервер предыдущую копию файла functions.php - выходит другая ошибка и сайт все равно не грузит...
Для меня это жесть, т.к. этот сайт просто НЕОБХОДИМ мне для работы!
очень прошу помощи!
"Подправьте немного" - это я не вам говорил, а Игорю!
А так, в принципе вы все сделали правильно! =)
Рад, что у вас все получилось! Будут вопросы, обращайтесь! 🙂
Да, через хром. Только я прописывал не 0, а кусок кода...
Смотрю, ваш код выше начал нормально хоть отображаться!
Удалила код между 11 и 27 строкой . Спасибки все получилось. Дай Бог тебе здоровье!!!!!
Ох ты код не видно сейчас напишу
СПАСИБО ЗА ПОМОЩЬ! ВЫ смотрите через хром "Просмотр кода элементов"? У меня видно
0
Спасибо попробую удалить с 17 по 23 строки. Подправить немного не знаю как. Попробую просто снести.
Пока не думал об этом, но идея действительно хорошая.
Добрый день, Игорь.
Очень много полезного. Но я не нашел то что искал, может вы сможете мне помочь.
Некоторые посетители оставляют большие комментарии, что затрудняет пролистывание и поиск, особенно если заходить со смартфона. Как можно вставить тег "читать далее" или "читать весь" в комментарии, который свыше 5 или 7 строк?
На мой взгляд очень хорошо это реализовано на www.youtube.com.
Можно как это реализовать на wordpress без плагина?
17-23 - подправьте немного! 😉
Надписи я так понял вы убрали полностью, остался просто счетчик комментариев, который вы тоже хотите убрать.
Если просмотреть через "Просмотр кода элемента", то можно увидеть, что за отображение счетчика отвечает вот этот кусок кода:
Потом смотрим основной код и делаем вывод, что нужно удалить участок примерно с 1-й по 27 строчку, так как именно на 27 стоят конечные теги .
Хотя участок 17-13 меня немного смущает... Надеюсь, Игорь меня подправит! 🙂
Удалите первый коммент. Я не вставила код как надо.
Ребят спасибо накопала где этот файл сидит. Все что хотела перевела теперь не могу найти где выводится количество комментов, какая функция за это отвечает. Мне надо чтобы цифры не выводились. Подскажите а то я в этом совсем не сильна. Я понимаю что то что с надписью "count", но не могу сообразить везде пишут про функции где есть "number" здесь ее нет.
ну да. я тоже устала ковыряться. хоть темка и классная, но без комментариев никуда не годится. Уже установила новую тему.
Людмила, значит должен быть альтернативный шаблон, в котором прописаны функции отображения комментариев, в том числе в файле function.php
Если есть возможность, то почему бы и не помочь!
P.S. Тоже на это надеюсь, если конечно дождусь ответа! 🙂
Vlad, спасибо за содействие, иногда не успеваю вовремя ответить читателям, запарка. Тогда я не буду вмешиваться, надеюсь Вы поможете Нате в полном объеме.
Отправьте свой шаблон мне на почту и я посмотрю.
P.S. Мои контакты указаны на сайте.
Хочу а что для этого надо?
Спасибо, Игорь! Очень помогла ваша статья. Долго билась с проблемой, когда вместо стандартной аватарки для тех, у кого нет своего граватара, на сайте отображалась битая картинка. Пришлось в коде файла comments.php делать изменения по вашим подсказкам. И заработало!
у меня такая же проблема на сайте. Напрочь отсутствует файл comments.php и что делать не знаю....
Здравствуйте! Могу помочь, если хотите! 😉
Здравствуйте Игорь. Делаю сайт не могу понять в каком файле поменять название на русское шаблон на аглицком вот тут на скрине, подскажите а то я что то не пойму, вашу статью почитала но что то не соображу где надо покопать чтобы перевести
http://f-picture.net/lfp/s005.radikal.ru/i212/1502/6f/3cf8ed274ae1.png/htm
Хорошая форма комментариев сейчас бесценна для любого блога, ну впринципе и не только для блога. Давно хотел всё переделать в комментах, спс за инфу.
Спасибо, хорошая статья, еще хотелось бы увидеть как настраивается сама форма, строки Имя, E-mail, Сайт и кнопка отправить комментарий
Хорошо, Сергей Фатеевич. 🙂
Еще раз спасибо Игорь, очередной раз подтверждаете, что вы профессионал своего дела. Даже не знаю как вас отблагодарить. Ну, если в что, как сайт более менее наполню статьями, ссылочку на вас поставлю. Ну ладно, если еще что надумаю изменить у себя на сайте, обязательно спрошу, уже есть некоторые вопросы, пока попробую сам разобраться. А пока пойду дальше изучать ваши статьи.
Если хотите убрать подчеркивание на всех ссылках, а не только в комментариях, то найдите строку 27 в style.css, там должен быть такой стиль:
Добавьте вот такое свойство CSS:
В результате получится такой набор свойств:
Ну, а с аватарками еще проще. Зайдите в админку Вордпресс и перейдите в раздел «Настройки» - «Обсуждение». В самом низу будет подраздел «Аватар по умолчанию». Выбирайте, какой желаете, после чего нажмите на кнопку «Сохранить изменения». У меня, например, установлен «Wavatar (Автоматически)».
И как мне поменять форму отображения даты в комментариях?
Спасибо Игорь все получилось, сначала маленько недопонял, можно было быстрее сделать и вас лишний раз не отвлекать. И хотел еще напоследок узнать:
1) Как убрать в комментариях подчеркивание под датой и admin?
2) Как сделать в комментариях стандартные аватарки как у вас?
Простите за наглость, совсем новичок в этом деле, напишите или скиньте ссылочку на материал, буду благодарен.
Добавьте такой стиль:
Также на строке 631 у Вас ошибка. Должно быть так:
Без точки, а у Вас .cite (с точкой впереди). Кроме этого, на строке 621 со стилями класса .commentmetadata поменяйте значение свойства margin-bottom (вместо 20px поставьте 50px).
Только теперь логин комментатора стал выше а дата чуть ниже
нет, я все добавил, как вы написали
Вы забыли добавить стиль в style.css:
Теперь дата вверху как и надо, а логин комментатора остался внизу.
Для этого нужно сделать следующее. Вместо набора свойств:
вставьте такой:
Затем в style.css добавьте такие стили (можно в самый конец):
и
Отпишитесь, пожалуйста, о результате.
Все сделал, получилось в одну строчку - большое спасибо, но хотелось бы еще, чтобы надписи были вверху как у вас, просто у меня в низу.
Сергей Фатеевич, попробуйте сделать следующие изменения в файле style.css Вашей темы. Для начала найдите свойство на 621 строчке:
Здесь вместо margin:0 вставьте следующие строчки:
Полностью новый набор свойств будет выглядеть так:
Затем добавьте в конец style.css:
Все должно получиться.
Или пример можете посмотреть у меня на сайте, я сделал 2 пробных комментария.
Вот так выглядит у меня
http://vfl.ru/fotos/c162e1977398114.html
А хочу чтобы было как у вас
http://vfl.ru/fotos/2a3fc4297398115.html
И подскажите еще как убрать значки перед комментариями.
Заранее спасибо!
Вывод в одну строку? Вы имеете ввиду данные комментаторов?
Здравствуйте! Сделал все как вы написали, вроде получилось. Еще такой вопрос? - как сделать, чтобы логин, им и дата выводились в одну строку как у вас, у мен просто маленько не так?!
Сайт хорош, слов нет. Все удобно, мобильно. Я в восторге, надеюсь и остальные оценят
Вот для этого бэкапы и нужны. 🙂
По началу после установления первой функции возник белый экран вместо сайта и панели вордпресса, нужно было удалить старую функцию по комментам, разобрался, всё работает спасибо. а то все плагины перепробовал, они лишь грузят лишним контентом.
после добавления функции function mytheme_comment($comment, $args, $depth)........ Сайт полностью слетел вместе с вордпрессом, нельзя даже вернуть как было... благо делаю всегда бэкапы.
Марсель, у Вас стандартная тема Вордпресс или самописная? Эта проблема возникла после редактирования шаблона?
Привет! подскажи пожалуйста как быть!
при нажатии на ответить на комментарий происходит перезагрузка страницы. то есть не так как у тебя нажал ответить и начал писать, а приходится ждать это перезугрзки.
а не подскажешь в чем причина?
когда нажимаю ответить на запись комментария то у меня обновляется страница.
сначала вроде такого не было.
то есть я нажимаю ответить на запись и у меня происходит переадресация.((
пожалуйста!)
Ничего, что статья большая получилась и спасибо, что так разжевали. И еще хорошо, что каждое изменение сопровождают картинки. Не так страшно в коде колупаться)).
Спасибо за наводку - поищу нужного человека среди комментаторов!
А галочка у меня стоит - но смайлики все равно не преобразуются, вот в чем вся суть проблемы 🙂
Галина, проблема с абзацами была у одного из читателей:
Лично я с подобным не сталкивался. Там указан его сайт, попробуйте с ним связаться. Что касается смайликов, то скорее всего, эта задача решается следующим способом. Войдите в панель управления WP, из левого меню перейдите в «Настройки» - «Написание» и поставьте галочку напротив опции «Преобразовывать смайлики наподобие 🙂 и 😛 в картинки».
Приветствую всех!
У меня имеется следующая проблема и нигде не нахожу путей её решения, а собственных знаний не хватает.
Дело в том, что на моем блоге в комментариях полностью отсутствуют абзацы. то есть посетитель оставляет нормальный комментарий с абзацами и параграфами, а отображается все одним сплошным текстом + к этому смайлики не работают (то есть двоеточие и скобочка не преображаются в смайлик).
Не подскажите как решить проблему?
Заранее благодарю!
Хорошо, Владимир, я учту Ваши пожелания, хотя даже не знаю, когда этим займусь, суток просто не хватает на реализацию всех задумок.
Кстати при переходе из письма, которое приходит на почту (уведомление о комментарии на вашем сайте), было бы неплохо как-то реализовать, чтобы сразу показывался ответ (автоматическая прокрутка на место в списке комментариев). Если надумаете это внедрить на сайте, дайте знать, я тоже у себя поставлю. Спасибо еще раз. Буду дальше изучать ВП с помощью вашего сайта
Спасибо большое! Все получилось. Только "thought" заменил на свой вариант.
Владимир, попробуйте сделать следующим образом. В файле comments.php найдите строчку:
Сразу под ней вставьте такую конструкцию:
Думаю, излишне напоминать, чтобы Вы обязательно сохранили прежний вид содержимого файла, чтобы в случае неудачи можно было бы его восстановить. Рекомендую использовать notepad++.
Буду признателен помощи решить вопрос: как реализовать добавление к надписи "N комментариев" и далее заголовок материала. Так же, как это реализовано на этом сайте. Заранее спасибо за ответ
Таня, возможно, некорректно прописаны соответствующие CSS правила. Дайте ссылку на проект, попробую оказать содействие. 🙂
Игорь подскажите пожалуйста, почему когда я в окне комментариев пишу например очень длинное слово, оно находится в пределах окна, а когда комментарий отправлен, то оно выходит за пределы. Т.е. вот, например на вашем сайте моя запись будет находиться в пределах окошечка, а на моем сайте текст вылазеет.
Тим, или Вы где-то допустили неточность, или это связано с особенностью Вашей темы Вордпресс. К сожалению, так бывает, универсальных методов для всех без исключения нет.
Здравствуйте!
Помогите разобраться: почему у тех кто отвечает на мои сообщения, так же подсвечивается текст в комментарии? Хотя в style.css добавил только себя.
Нет, комментарии просто не разбивались на абзацы!
Проблема уже решена!
Vlad, исчезает комментарий полностью? А если писать не соблюдая абзацы, комментарий публикуется? Честно говоря, не сталкивался с такой проблемой в WordPress. Попробуйте поискать на официальном вордпрессовском форуме:
Здравствуйте!
На блоге (блог не мой) комментарии не реагируют на абзацы... (при написании нажимаем enter, а после опубликования он исчезает)...
Можете что-то посоветовать?
Да пожалуйста, Александр. Я же в статье расписал все параметры для массива функции wp_list_comments. Ошибка синтаксиса означает, что у Вас где-то пропущен символ ")" перед "<". Но в тексте код дан верно, я проверил. Вы уверены, что ошибка возникает после вставки именно этого фрагмента? Видите ли, очень тяжело давать советы, если нет темы под рукой, поэтому иногда бывают накладки.
Здравствуйте. Не совсем понял... В самом начале Вы говорите: "...укажем массив $args для функции wp_list_comments и несколько необходимых строк этого массива со значениями.". Как это сделать? Прошу прощения за глупый вопрос, я ещё совсем чайник! Как я понял, надо этот массив тупо скопипастить под строчкой ? Но если я так делаю - то вылезает синтаксическая ошибка "unexpected '<', expected ')'. Что я делаю не так? Очень хочу красивую линейку комментариев! Помогите, пожалуйста, советом!
К сожалению, во время вставки кода "<?php $args = array(......." в comments.php на сайте вылезает ошибка синтеза "Parse error: syntax error, unexpected '<', expecting ')' in". Что я не так делаю? 🙁
Хорошо, Наталья.
Спасибо, Игорь, возможно обращусь к Тимуру...Параллельно я обращалась к Вам и к Борисову по этому вопросу. Он сказал, что сам в шаблонах не копается, что ему этот шаблон так же дорабатывали. Дал контакт фрилансера. Я ему написала, но пока он не ответил. Так что, если поможет этот верстальщик, то хорошо, если нет обращусь к тому, что Вы рекомендовали. В любом случае, Вам спасибо огромное! Если мне поможет Тимур, я Вам напишу...
Наталья, я не нашел в function.php функции, которая бы регулировала отображение комментариев на статических страницах. Если Вы покупали тему у Борисова, думаю, следует обратиться к нему. Я не отказываюсь помочь начинающим, только если проблема лежит на поверхности и не требует значительных усилий для ее решения.
К сожалению, у меня нет времени заниматься вплотную редактированием тем с каждым, по крайней мере, на данный момент. Если Вы не найдете решения, попробуйте обратиться к настоящему специалисту в области WP:
Только не сочтите за труд потом написать, нашли ли вы решение с помощью Тимура (это админ блога, адрес которого я указал выше). Для меня это крайне важно.
Спасибо большое, Игорь, за желание помочь! Тему я покупала у Александра Борисова, а где он ее брал не знаю, наверно на этом сервисе. Содержимое файла FUNCTION.PHP я Вам отправила 🙂
Наталья, скажите, а свою тему xmarkup вы заказывали на одноименном сервисе xmarkup.ru? Среди вордпрессовских тем такой нет, поэтому не удалось проанализировать. Скопируйте и пришлите мне содержание файла FUNCTION.PHP. Только сделайте это по электронной почте, чтобы не засорять громоздкими кодами комментарии. Попробую помочь, хотя ничего не гарантирую.
Попробовала, но чуда не произошло... Жаль...А как еще можно поковырять function.ph? Думаю стоит это сделать, видно дело в этом...
Наталья, попробуйте вставить такую строчку:
Если это не поможет, то нужно поковырять function.php темы. Возможно, у Вас запрещены в принципе комментарии на статических страницах.
Спасибо большое, Игорь. Увеличила окно комментариев. А по поводу комментариев на страницах, вставила строку в PAGE.PHP там где Вы указали,но ничего не изменилось 🙁
В общем, расширять нет смысла, поскольку это может сделать каждый пользователь вручную. Для этого нужно просто подвести курсор к нижнему правому краю окна ввода текста комментариев, нажать левую кнопку мышки и, не отпуская ее, растянуть окно в ширину и в высоту настолько, насколько будет удобно. Если же Вы все таки хотите увеличить, например, его высоту, то откройте файл стилей style.php, найдите строку 2407, где будет правило для #comment, в нем измените свойство:
height: 61px;
Можете, например, поменять значение на 161px. После этого область комментирования растянется в высоту.
Наталья, если не выводятся комментарии, откройте шаблон, отвечающий за отображение статических страниц PAGE.PHP и проверьте, есть ли там строчка:
Если отсутствует, то вставьте ее перед функцией завершения цикла:
А вот насчет нарушения порядка очередности комментариев навскидку ничего сказать не могу. Возможно, у Вас запрещены древовидные комментарии. Чтобы исправить это, в админке WordPress войдите в раздел "Настройки" - "Обсуждение" и поставьте галочку напротив опции "Разрешить древовидные (вложенные) комментарии".
Еще забыла написать, по поводу размера окна комментариев, можно ли его расширить. У меня уж очень оно узкое, неудобно писать... Заранее большое спасибо!
Подскажите, что нужно сделать чтобы выводились комментарии на СТРАНИЦАХ. В записях выводятся нормально, а на страницах нет. В "настройки"- "обсуждения"- "Разрешить оставлять комментарии на новые статьи" галочка стоит. В админке "страницы" - "настройки экрана" все галочки стоят ("комментарии" тоже). Но самого окна комментариев на странице нет. При чем в старой теме у меня тоже так было, поставила новую и в ней так же. НО! Такая как у меня "новая" тема стоит еще на одном староннем сайте и там комментарии на страницах есть. Значит, я так думаю, нужно править код? И еще когда поставила новую тему, комментарии в ЗАПИСЯХ идут не по очереди. Когда пишу ответ на вопрос,то он ставится не под соответствующим комментарием, а аж после всех в самом конце. Подскажите, пожалуйста, как это можно исправить?
Вот плагин, который выделяет комментарий автора блога, довольно таки полезный. Надо будет себе такой установить.
+1
Rencontrez, если Вы имеете ввиду графу в форме комментариев, то здесь палка о двух концах. С одной стороны, Вы практически избавитесь от спама, нежелательных исходящих ссылок, что очень неплохо с точки зрения продвижения проекта и его ранжирования. С другой стороны, особенно, если у Вас проект молодой, можно лишиться значительной части комментариев.
Конечно, если сообщения оставляются ради получения линка, они гроша ломаного не стоят, но все же какая-то часть потенциально ценных комментариев будет утеряна. В общем, по достижении определенного уровня посещаемости можно и удалить графу «URL». Честно говоря, я сам подумываю об этом, поскольку львиная часть сообщений на блоге вполне конструктивные и оставляется людьми, так сказать по велению души, а не из меркантильных соображений.
Я вот совсем убрал у себя пункт "url". Не знаю правильно ли сделал...
Большое спасибо, нашел файлик)))
Алексей, этот файл нужно искать в папке с Вашей темой: ваш_домен/wp-content/themes/название_вашей_темы/comments.php. Именно comments.php.
Версия 3.9
В каталоге /wp-includes есть файл comment.php (у вас написано comments.php). Строчки в этом файле нет.
Подскажите, может я не тот файл смотрю или в этой версии такого вообще нет.
Спасибо.
Хотя, кажется, понял, Михаил, о чем Вы. Видимо о том, что Вордпресс жрет код. Внимательно почитайте руководство перед вставкой кода, которое находится чуть выше поля ввода комментариев.
Это весьма странно. Копируется либо все, либо ничего.
На одной из страниц не отображается форма комментария, что делать помогите? Уже глаза порвал, в вордпрессе птичка стоит в свойствах страницы, а саму страницу "обо мне " открываю там ничего, в то время как в обычных статьях на главной всё есть, фот форма может подскажите что исправить
post_password)) { // if there's a password
if ($_COOKIE['wp-postpass_' . COOKIEHASH] != $post->post_password) { // and it doesn't match the cookie
?>
Защищено паролем. Введите пароль для просмотра.
on
comment_approved == '0') : ?>
Ваш комментарий ожидает проверки.
comment_status) : ?>
Извините, комментирование закрыто.
comment_status) : ?>
Пожалуйста, <a href="/wp-login.php?redirect_to=">зарегистрируйтесь для комментирования.
<form action="/wp-comments-post.php" method="post" id="commentform">
<a href="/wp-admin/profile.php">. <a href="/wp-login.php?action=logout" title="Выход">Выйти »
Имя
<input type="text" name="author" id="author" value="" size="40" tabindex="1" />
Почта
<input type="text" name="email" id="email" value="" size="40" tabindex="2" />
Сайт
<input type="text" name="url" id="url" value="" size="40" tabindex="3" />
<input type="hidden" name="comment_post_ID" value="" />
ID); ?>
VK.Widgets.Like("vk_like", {type: "button"});
Роман, посмотрите, в каком файле находится comment-body, в Firebug чуть выше должна быть ссылка на него. Возможно использование нескольких файлов стилей.
Здравствуйте!
Не могу найти у себя в стилях comment-body. Хотя Firebug показывает его в консоли HTML в Firebug. Как быть? Я хочу заменить фон комментариев...
Самой то строки "комментарии запрещены" теперь нет с ней разобрался, но остается заголовок "0 комментариев", а там где они отключены само наличие этой строки уже не логично, этот код что ниже из comments.php вот он то и отвечает за вывод этого заголовка.
Максим, тогда не знаю, честно. Я смайлы себе не ставил.
Вставил код, теперь выдаёт ошибку: Parse error: syntax error, unexpected T_STRING, expecting ')' in .../public_html/wp-content/themes/colorway/comments.php on line 37. На 37й строке такой код: 'comment_field' => '<p class="comment-form-.....
Не пойму, вообще, судя по коду, надпись не должна выводится.
Максим, прошу прощения я что-то накосячил с ответом, видимо цейтнот сказывается. Конечно, надо вставить функцию вместо qipsmiles(‘ru’), полностью код должен выглядеть так:
Игорь, привет.
если не ошибаюсь добавляет постраничную навигацию к комментариям а у меня ее нет,
полагаю что дело все в функции
через проверку комментариев, а далее запретить вывод блока комментирования если коммент., к записи отключены...
Игорь, вставил код, всё равно отображается текст вместо смайлов. Скриншот по ссылке: http://yadi.sk/d/yDnIgotGJS6i2
Максим, попробуйте сделать следующим образом:
Игорь, это я сделал замену в файле wp-includes/comment-template.php. Но при обновлении вордпресса опять всё слетит. Вот и меняю шаблон, чтобы всё сохранялось после обновления. Прилагаю скрин с редактируемой темы. http://yadi.sk/d/KDhOpAGXJE7vF
Максим, зашел к Вам на сайт, смайлы у Вас внизу относительно поля комментирования, или я что-то не понял...
Роман, я так понимаю, это фрагмент из function.php. Попробуйте для пробы удалить строки 8-11 и в файл comments.php вставить после строчки:
такой кусок:
Тему с нуля делал, единственное что сдесь остаётся подправить сам код,
добавить что-то типа: если комментарии запрещены, то, заголовок (0 комментариев) не выводить...
Роман, откройте файл comment.php темы, найдите фразу 'Comments are closed' и удалите ее. Должно сработать.
Доброго времени суток! Не могу понять, как вывести вместо надписи «Можно использовать следующие HTML-теги и атрибуты…» строку выбора смайлов? У меня на блоге стоят qip смайлы, решил вопрос с выводом заменой строки php echo $args['comment_notes_after']; на строку php if (function_exists('qipsmiles')) qipsmiles('ru'); в файле wp-includes/comment-template.php. Но после обновления вордпресс это всё слетает, поэтому начал искать решение размещения кода комментариев непосредственно в самой теме.
$comments_args = array(
2 'comment_notes_after' => '',
3);
4
5comment_form($comments_args);
Вот эта часть кода как раз и убирает надпись. Если я вставляю после строки 'comment_notes_after' => '', строку 'qipsmiles' => qipsmiles('ru'), то смайлы отображаются, но только над полем комментирования. Пробовал также в строку 'comment_notes_after' => '', добавлять значение 'comment_notes_after' => qipsmiles('ru'), , та же картина, отображается над полем комментирования. А если в строку 'comment_notes_after' => '', добавляю например любое слово, 'comment_notes_after' => 'любое слово', то отображается "любое слово" именно там, где мне и надо. Помогите, пожалуйста, с решением этой проблемы, так как с php я не знаком, вот только сейчас пришлось столкнуться.
Сначала заголовок 0 комментариев, а под ним комментарии запрещены,
как его вообще убрать у данных записей.
Роман, а на страницах, где комментарии отключены, есть надпись 'Комментарии запрещены' или только надпись '0 комментариев'?
Игорь, количественное склонение комментов отлично придумано, подскажи как убрать заголовок '0 комментариев' если они к данной записи отключены.
Саша, к сожалению, я не совсем понял Ваше желание. Комментарии к определенной статье ведь тематические и по определению должны соответствовать только ей. В общем, и Вордпресс устроен таким образом, что комментарии выводятся отдельно к каждой из страниц. Или Вы имеете ввиду последние комментарии, которые можно реализовать в футере или сайдбаре?
Здравствуйте! Очень интересная статья! Люблю читать Ваш блог - много полезной инфы для начинающих!
Возник вопрос - хочу реализовать отзывы на сайте таким образом: колонка с комментариями должна повторяться во всех записях, и комментарии например со страницы 1 были видны и на странице 2, 3 и т.д.
На данный момент реализовал только так: на каждой странице - своя колонка с комментариями. Объясните пожалуйста, как реализовать задуманное.
Роман, честно говоря, не задавался подобным вопросом. Считаю, что 10 и так слишком много. У меня установлен уровень 5.
Алексей, напишите поконкретнее мне на e-mail, что бы Вы хотели изменить и приложите файлы в письме. Хотя глобальное редактирование шаблонов тем с этого года я планирую сделать платным, к сожалению, бесплатный лимит выработан, поскольку это занимает очень много времени порой. Но Вам я постараюсь помочь, поскольку еще не определены тарифы.
Огромное спасибо за представленную информацию. Мало кто так хорошо опишет все, что нужно людям. Буду постоянно обращаться к вашему сайту за помощью.
А не подскажете, можно ли увеличить число древовидных комментов с 10 до 20 допустим? А то вордпресс ограничивает. Неужели просто найти 10 и исправить?
добрый день мой сайт сделан через программу artisteer установить то что вы написали выше очень хотелось бы. я попробовал и ничего не смог изменить. я приложу два файла может вы посмотрите что можно сделать. спасибо.
Видите ли, Виктор, нужно четко понимать, к какой области дизайна страницы относится то или иное правило CSS. Скорее всего, у Вас отдельно прописаны свойства для шрифтов в комментариях. Поищите в файле style.css стили, относящиеся к id или классам с названием, в которое входит comment или comments, обычно в темах это так. В случае, если это слишком затруднительно, пришлите на почту ссылку на Ваш ресурс, это было бы идеальным выходом из ситуации. Файл я Ваш получил, но вырванный из контекста кусок очень трудно редактировать и додумывать. Поэтому в случае невозможности предоставить URL Вашего сайта пришлите полный файл style.css туда же на e-mail.
Здравствуйте,
я нашел фонт-сайз, но изменив его смог изменить только грифт в записи,но не в комментариях.
Там вообще какой то странный ксс, я отправил вам его на почту.
Скажите мне em менять, или искать в других файлах?
Максим, мне очень жаль, но я не тестировал этот плагин, поэтому ничего конкретно посоветовать Вам не могу. А Вы не пробовали погуглить и поискать информацию в сети? Вбейте название плагина, думаю, что-нибудь найдете по этому поводу.
Здравствуйте, Игорь!
Пользуюсь плагином для комментариев WordPress Thread Comment. Не знаю у кого спросить, поэтому обращаюсь к вам.
Когда нажимаю "ответить" возле комментария, пишу сообщение и пытаюсь отправить, выскакивает окошко "comment can not be empty", что означает "комментарий не может быть пустым". Подскажите пожалуйста, как решить проблему?
P.S. В настройках плагина id формы комментариев указана правильно. Видимо, плагин думает, что комментарий пустой, потому что не может понять, что textrea (поле, куда вводится комментарий) - это есть есть комментарий.
Хорошо, Дмитрий. Рекомендации отправил Вам на почту.
Игорь , спасибо за ответ и про задержку не беспокойтесь Вы в конце концов ничего никому не должны)...
Игорь, похоже как раз дело в том что вывод коментариев в теме на статических страницах не предусмотрен(
Возможно как то решить эту проблему ?
Дмитрий, простите за задержку. Чтобы включить комментарии для статической страницы (там, где молитвенные нужды), попробуйте пройти по пути «Страницы» → «Все страницы» в админке Вордпресс. Там подводите курсор к нужной странице, появятся опции для редактирования. Выбираете «Свойства» и ставите галочку напротив опции «Разрешить комментарии». Однако, такой способ подключения будет работать только в том случае, если в Вашей теме вывод комментариев на статических страницах предусмотрен. Попробуйте, в случае неудачи дам последующие рекомендации.
Игорь, да разговор идёт об этом сайте , дело в том что коментарии там отражаются только в статьях и видео которые стоят на главной странице, а вот на других страницах например в молитвенных нуждах, нет... как это можно исправить?
Дмитрий, если это сайт, URL которого Вы проставили при комментарии, то там все в порядке, комментарии отображаются. Или это проблема с другим Вашим ресурсом?
Игорь, большое спасибо что ответили . Но причина другая( там галочка уже стояла)...В конце каждой странице вставлен плагин Contact Form 7 и все коментарии приходят на почту , а на главной странице все коментарии отражаются как положенно... Может нужно заменить плагин или есть другое решение проблемы ( кроме замены самой темы)? Если можете то подскажите пожалуйста. Заранее благодарен Вам за беспокойство. С уважением Дмитрий.
Дмитрий, попробуйте пройти в админ панели Вордпресс по пути «Параметры» → «Обсуждение» и в разделе «Настройки статьи по умолчанию» посмотрите, стоит ли галочка напротив опции «Разрешить оставлять комментарии на новые статьи». Если галочки нет, то поставьте и перезагрузите любую страницу записей, комментарии должны появиться.
Доброго Вам времени суток. Игорь помогите пожалуйста разобраться с проблемой . На сайте выводятся коментарии только на главной странице , как можно сделать вывод и на остальных страницах?
Спасибо, буду держать это под контролем 🙂 Слава богу, WP не каждую неделю обновляется, да и пару предложений заменить - не проблема, когда знаешь, где искать 🙂
Дина, сделали-то Вы все правильно и в сети тоже будет работать, но просто файл comment-template.php является составной частью ядра Вордпресс и после каждого его обновления придется эту операцию повторять.
Игорь, большое спасибо, что уделили мне внимание! Проблему решила ))) Оказывается, эти фразы выводились не из файлов темы - там их действительно нет, а из файла comment-template.php, который в папке wp-includes. В общем, я тупо в нем исправила английские надписи на русские. Может и не правильно, но на локалке пашет )))
Дина, жаль, что ресурс не в сети. Здесь может быть несколько причин. Подозреваю, что искать надо в файле function.php темы. Скажите, Вы коммандером искали по всем файлам? Если да, то пришлите мне на e-mail скриншоты полного содержания comments.php и function.php, попробую разобраться, хотя ничего не гарантирую.
Игорь, здравствуйте! Пожалуйста, помогите! У меня проблема именно с надписью Your email address will not be published. Required fields are marked *, а еще названия полей все на английском, хотя тему я переводила как положено, создавала файл ru_RU, но эти строчки все равно на англ. Нигде не могу их найти, пыталась искать тотал коммандером, но он ничего не находит. Подскажите, где это исправить? Заранее спасибо. К сожалению блог пока не в сети....
Павел, откройте файл comments.php и посмотрите, там должна быть такая строка:
Вы наверное, вставили кусок кода, который я привел в статье, но не удалили прежний? Если у Вас повторяются комментарии, то должна быть и вторая похожая строчка, но уже с массивом:
Скорее всего, нужно удалить первую строчку без массива. Но действуйте осторожно, если Вы не сильны в языке PHP, лучше перед редактированием сделать копию прежнего файла.
Здравствуйте. Не поможете: что нужно удалить в коде, чтобы не отображалось подряд 2 вида комментариев (ваш вариант и стандартный шаблона), т.е. убрать ненужную копию? Заранее спасибо.
Бог ты мой, как я мог так ошибиться! Ведь подумал же, что из Латвии, а написал, что из Литвы. А что касается цвета, то показывает, уверен, одно и то же, просто у каждого человека свой вкус и цветовые пристрастия. Я подумал, что немного более контрастный оттенок смотрелся бы лучше. Ну, да ладно, главное, чтобы Вам нравилось.
Нееее, мы еще ближе,с Риги я,латыш. а цвет оставил серый f2f2f2 - чтоб не резал глаза а с общим фоном гармонировал...........как впрочем и у вас же тоже похожая тональность с общим фоном.....или у нас опять что то по разному показывает.....
Приятно помочь...Ведь судя по Вашему имени, Вы из Литвы. А я из Эстонии, так что почти земляки на просторах рунета. А цвет в комментариях админа все-таки не поменяли...
Спасибо Мастер !!!.....почти все как хотел,но и данный результат очень даже красиво выглядит.....больше уже править не буду. Насчет Мастера, не лесть,СНИМАЮ ШЛЯПУ !!! САЙТ В ЗАКЛАДКАХ.....если что обращусь к вам.....очень уж понятно для чайника излагаете !!!
Guntis, почитайте чуть выше мой комментарий по существу и попробуйте отредактировать по моей инструкции.
Странные вещи происходит.....я вижу на своем сайте серый фон на своих комментариях......посетителям все комментарии кажется белыми...снимают скриншот,показывают мне в чате.....я вижу серый они белый фон...вывих мозга скоро случится. не могли бы вы заглянуть на мой сайт....... что там для вас покажут ???
Ну-ну, Вы меня в краску вогнали. Мастер, да еще с большой буквы… 🙂 Скорее у Вас явный талант, просто и легко объяснили, что от меня требуется.
Да нет, ничего удалять не нужно. Цвет комментариев администратора выделяется, просто это один из оттенков белого и виден лишь под определенным углом. Полагаю, вариант моих комментариев Вас не устроит, Вы хотите, чтобы текст был выделен в отдельную рамку? На всякий случай сначала все-таки дам указания, чтобы было, как у меня. Сначала допишите в файле style.css (строка 1011) такое свойство:
Полностью это правило CSS будет выглядеть так:
Далее, объедините стили (строка 1361):
Поменяйте цвет, чтобы выделить получше комментарии админа (цвет я выбрал на свой вкус, если не устроит, откройте страницу поиска Яндекс, вбейте запрос “цвет” и на барабане можете выбрать любой оттенок, после чего скопируйте код и вставьте его в качестве значения свойства bacrground). Строка 1366:
Я отправил Вам на e-mail ссылку на картинку, которая представляет вид комментариев после такого редактирования.
Чтобы отредактировать и оставить все как сейчас у Вас, окрасив только текст в маленькой рамке, мне нужно посмотреть на Ваш файл comments.php темы. Скопируйте и Вышлите ко мне на электронную почту, можно через страницу Контакты. После этого я дам подробные инструкции.
наверно надо будет удалять,цвета......посетители кричали что не какого цвета на моих комментах не наблюдают.....=(
хотел как лучше....
http://s55.radikal.ru/i148/1308/6b/100578e2d197.jpg
получилось как всега....
http://s005.radikal.ru/i209/1308/d5/953061ea3637.jpg
уважаемый Мастер, в чем я не прав???.....хотелось бы чтоб только красивая,округленная рамочка закрашивалась
Вот что значит развернутые комментарии, понятные вопросы по существу от читателей и внимательность тех же читателей, которые находят ответы уже в ранее отправленных сообщениях. 🙂
Огромное Спасибо за Ваш такой ответ.Я уже пол года ломала голову почему у меня на втором блоге не отображается мой граватар как админа.Перешерстила всё и всяк и после прочтённых комментов нашла ошибку в своём электронном адресе в админке. Исправила и Вуа..ля...Мой граватар появился.И за статью спасибо. Нужно будет попробовать сделать так и у себя.Беру ваш блог в закладки.
Большое вам спасибо! Очень полезная статья!
Наталья, в таком случае Вам необходимо просто либо задать на сервисе нужный e-mail для выбранного граватара, либо поменять адрес электронной почты в админке. Никаких проблем не вижу.
Игорь, спасибо за участие! У меня была такая ситуация. Граватар был зарегистрирован на один e-mail и там в качестве дополнительного был задан вспомогательный. Собственно, на этот 2-й адрес и был зарегистрирован мой WordPress. Видимо, не главный адрес для граватара не подходит. Просто тогда не понятно, зачем есть такая возможность его задать? Как только поменяла адрес WordPress-а на другой (чего не очень хотелось делать), то все заработало. Но, конечно, хотелось бы, чтобы все получалось в предыдущем режиме.
Наталья, только что посетил Ваш сайт, граватар Ваш на месте, странно... Хотя, может быть, у Вас проблема на другом ресурсе? Ну, а вообще, при подобной проблеме, если на других сайтах Ваш граватар отображается, необходимо войти в административную панель WordPress Вашего сайта и перейти в раздел «Пользователи» → «Администратор». Посмотрите, какой e-mail там указан. Наверняка, где-то допущена ошибка или указан электронный адрес, отличный от того, который Вы вводили при регистрации граватара.
Игорь, помогите разобраться с моей проблемкой. Почему в комментариях на моем сайте не отображается мой граватар? На других сайтах - пожалуйста! Чужие граватары на моем сайте - легко...
Пожалуйста, Федор. Однако не получил обещанного файла, чтобы разобраться до конца с Вашей проблемой. Вышлите его мне на E-mail.
Игорь, спасибо за участие.
Хорошо, Федор.
Игорь, дело в том, что у меня шаблон сделан в Artisteer и сходу не разберёшься, в папке comments.php такой строчки нет. Я вышлю файл, может Вы в нём разберётесь, если у Вас есть время.
Федор, там же в comments.php попробуйте найти такую строку или похожую:
И удалите из нее:
Игорь, спасибо за отает, на самом деле это действительно удобно, просто я не сразу сообразил, что ссылку видно когда ты в админ панели. Тогда не подскажете как убрать слово /говорит/ после имени автора. Спасибо.
Федор, дело, конечно Ваше, но мне кажется, наличие этой строчки очень удобно для редактирования, не надо в админку заходить, а редактировать прямо на странице с комментариями, тем более, эта ссылка появляется только при входе в админ панель Вордпресс и видна только Вам. Ну, дело Ваше, мне подсказать несложно. Откройте файл comments.php Вашей темы Вордпресс, ближе к концу найдите примерно такую строчку:
Ее нужно просто удалить.
Игорь, со вторым вопросом я разобрался, а вот с первым пока не получается.
Здравствуйте, Игорь. Подскажите пожалуйста как можно убрать из комментов строчку /редактировать, изменить/ после имени. И второе: как изменить имя /admin/ на своё собственное. Спасибо.
Лена, я не смогу Вам помочь, если Вашего ресурса нет в сети, у меня же нет никаких вводных. Как только перейдете на реальный хостинг, обращайтесь.
Спасибо за ответ! с шрифтом разобралась. Сайт, где не могу выставить рамку у меня на локальном компьютере, поэтому не могу никак показать (
Для того, чтобы увеличить шрифт, откройте файл style.css, на 15 строке увидите следующие стили:
За величину шрифта отвечает свойство font-size: 12px. Вместо 12px поставьте нужное значение, попробуйте для начала 16px, по-моему, нормально.
К сожалению, не обнаружил на Вашем сайте ни одного комментария, напишите что-нибудь от себя, например, приветствие, адресованное читателям, мне легче тогда будет помочь выставить рамку.
привет! если есть время, подскажите, как сделать рамку к моим комментам. Еще хотелось бы шрифт увеличить:
border: 0 none;
font-family: inherit;
font-size: 100%;
font-style: inherit;
font-weight: inherit;
margin: 0;
padding: 0;
vertical-align: baseline;
}
я когда указываю border: 1px solid #bbb; то у меня в рамку берется весь сайт и каждый элемент на сайте, и остальное не выходит дописать.
извините, если написала глупость )) я первый раз в это дело залезла
Вот код, который выводит комментарии по стандартному шаблону:
Но может быть добавлен массив с аргументами ($args), который определяет особенности вывода комментариев для того или иного блога:
К сожалению, Анатолий, так тяжело сразу определить причину Вашей проблемы, не имея под рукой файлов Вашей темы.
Здравствуйте, Игорь. У меня на сайте (WordPress)возникла проблема: посетители оставляют комментарии к одной записи, а при прочтении оказывается, что данный комментарий располагается под другой записью.
Или под только что опубликованной записью сразу же появляются комментарии, оставленный ранее к какой-либо другой статье.
Не подскажите, в чем может быть проблема? Какая часть кода в файлах comments.php или functions.php отвечает за правильный вывод комментариев?
Эта надпись должна быть в файле comments.php
Слава, не понял. Я что-то не нашел данную надпись на Вашем сайте. Какое заглавие Вы хотите изменить? Вот это: Your email address will not be published. Required fields are marked *?
Не подскажите как убрать "2 Responses to " или изменить заглавие формы комментариев.
Спасибо за обновление, Саня. 🙂
Не понял?! Пост уже не новый, а комментов - нет! Непорядок.
Хочу от себя добавить (может и автора заинтересую) есть плагин для предпросмотра своего комментария (кому интересно - пишите тут, кину ссылку (сейчас не хочу рекламировать чужой, хоть и неплохой ресурс)).
Очень удобная штука, особенно если пытаешься вставить код или ссылку - сразу видно, что из этого получается. Был грешен сам, оставил коммент (здесь, кстати), думал "умняк слеплю", а получилось... как всегда :).