Комментарии для сайта WordPress — настройка без плагинов

Здравствуйте, уважаемые читатели блога Goldbusinessnet.com! Сегодняшний пост будет посвящен настройке комментариев для сайта WordPress c помощью редактирования файлов текущей темы (тут о загрузке и установке тем для Вордпресс подробнее) и без использования плагинов. Я уже неоднократно отмечал, что замена расширений Вордпресс кодами дает возможность снизить нагрузку на сервер хостера и тем самым дать лишний плюс в деле оптимизации проекта.

По этой причине я буду постоянно давать материал, который позволит найти пути для замены того или иного расширения использованием разнообразных функций WordPress. В сегодняшней публикации я расскажу о тех изменениях, которые я предпринял на своем блоге для того, чтобы оформление комментариев выглядело симпатично и удобно для пользователей.

Комментарии 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=&amp;quot;li-comment-<?php comment_ID() ?>&amp;quot;>
			<div id=&amp;quot;comment-<?php comment_ID(); ?>&amp;quot;>
				<div class=&amp;quot;comment-author vcard&amp;quot;>
					<?php edit_comment_link( __( 'Редактировать' ), ' ' ); ?>
					<?php echo get_avatar( $comment->comment_author_email, $args['avatar_size']); ?>
					<?php printf(__('<cite class=&amp;quot;fn&amp;quot;>%s</cite> <span class=&amp;quot;says&amp;quot;>says:</span>'), get_comment_author_link()) ?>
				</div>

				<div class=&amp;quot;comment-meta commentmetadata&amp;quot;>
					<a href=&amp;quot;<?php echo esc_url( get_comment_link( $comment->comment_ID ) ) ?>&amp;quot;><?php printf(__('%1$s at %2$s'), get_comment_date(),  get_comment_time()) ?></a>
				</div>

<?php if ($comment->comment_approved == '0') : ?>
				<div class=&amp;quot;comment-awaiting-verification&amp;quot;><?php _e('Your comment is awaiting moderation.') ?></div>
			 <br />
<?php endif; ?>
				<?php comment_text() ?>
				<div class=&amp;quot;reply&amp;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=&amp;quot;post pingback&amp;quot;>
				<?php comment_author_link(); ?>
				<?php edit_comment_link( __( 'Редактировать' ), ' ' ); ?>
<?php
		break;
	endswitch;
}

Теперь, если что-то вас не устраивает, всегда можно внести соответствующие изменения в эту функцию и все они будут сохранены даже после установки свежей версии движка Вордпресс. То есть эта функция будет реализовывать комментарии WordPress по умолчанию, так что изменения будут видны только тогда, когда вы их реализуете.

Однако пока эта функция не работает. Чтобы ее задействовать, нужно обратиться к файлу comments.php и найти там следующую строчку (напомню, используйте редактор notepad++, который очень удобен для редактирования):

&amp;amp;lt;?php wp_list_comments(); ?&amp;amp;gt;

Теперь в качестве дополнения укажем массив $args для функции wp_list_comments и несколько необходимых строк этого массива со значениями. Вся эта конструкция будет выглядеть следующим образом:

<?php $args = array(
	 'avatar_size'       => 45,
	 'reply_text'       => 'Ответить на комментарий',
	 'callback'          => 'mytheme_comment',
    ); ?>
	<ul class=&quot;comments-list&quot;><?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&amp;gt;4 &amp;amp;amp;&amp;amp;amp; $number%100&amp;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=&amp;quot;nocomments&amp;quot;>This post is password protected. Enter the password to view comments.</p>';
            return;
        }
	$oddcomment = &amp;quot;graybox&amp;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=&amp;quot;comments-list&amp;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=&amp;quot;li-comment-<?php comment_ID() ?>&amp;quot;>
			<div id=&amp;quot;comment-<?php comment_ID(); ?>&amp;quot;>
				<div class=&amp;quot;comment-author vcard&amp;quot;>
					<?php edit_comment_link( __( 'Редактировать' ), ' ' ); ?>
					<?php echo get_avatar( $comment->comment_author_email, $args['avatar_size']); ?>
					<?php printf(__('<cite class=&amp;quot;fn&amp;quot;>%s</cite> <span class=&amp;quot;says&amp;quot;>says:</span>'), get_comment_author_link()) ?>
				</div>

				<div class=&amp;quot;comment-meta commentmetadata&amp;quot;>
					<a href=&amp;quot;<?php echo esc_url( get_comment_link( $comment->comment_ID ) ) ?>&amp;quot;><?php printf(__('%1$s at %2$s'), get_comment_date(),  get_comment_time()) ?></a>
				</div>

<?php if ($comment->comment_approved == '0') : ?>
				<div class=&amp;quot;comment-awaiting-verification&amp;quot;><?php _e('Your comment is awaiting moderation.') ?></div>
			 <br />
<?php endif; ?>
				<?php comment_text() ?>
				<div class=&amp;quot;reply&amp;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=&amp;quot;post pingback&amp;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;&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 комментариев. Я же воспользовался его аналогом в Хроме:

Стили CSS default

Так у меня на блоге выглядели блоки древовидных комментариев, которым соответствовали стили классов (class) и идентификаторов (id) для моей темы Вордпресс. Если взгляните на код comments.php, то строчка вывода всего блока комментариев WordPress там обрамлена в контейнер ul с прописанным классом:

<ul class=&quot;comments-list&quot;><?php wp_list_comments($args); ?></ul>

После работы движка Вордпресс происходит интерпретация этой части PHP кода в HTML код и в браузере происходит отображение соответствующего элемента вебстраницы. Таким образом, между открывающим и закрывающим тегами ul с помощью функции wp_list_comments($args) будут отображаться все комментарии.

По аналогии, если вы посмотрите на файл functions.php, то обратите внимание на строчку:

<li <?php comment_class(); ?> id=&quot;li-comment-<?php comment_ID() ?>&quot;>

Это кусок кода PHP отвечает за вывод ветки комментариев WordPress, то есть если происходит какой-то диалог на определенную тему пользователя с администратором. Благодаря таким разветвлениям очень легко отслеживать общение между конкретными пользователями. И для каждой ветки также прописаны определенные классы.

Но в данном случае нас интересует оформление отдельного комментария. Для того, чтобы улучшить внешний вид каждого из комментариев, я добавил некоторые свойства для уже имеющегося класса «comment-body» в файл style.css темы и полностью правило CSS для него стало выглядеть так:

.comment-body {
border: 1px solid #bbb; /* Толщина, стиль и цвет линии границы */
border-radius: 8px; /* Радиус закругления границы */
padding: 10px; /* Поля вокруг текста */ 
}

После внесения этих изменений комментарии получили такое оформление:

Измененные стили CSS

Вы также можете поковырять по своему усмотрению правило стилей для соответствующего класса: изменить значения свойств, добавить новые и т.п., благо 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;amp;lt;div id=&amp;amp;quot;comment-&amp;amp;lt;?php comment_ID(); ?&amp;amp;gt;&amp;amp;quot;&amp;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. Участник нескольких успешных проектов и автор более 1000 статей о работе в интернете, создании сайтов, полезных программах и сервисах.

Работа в интернете
Добавить комментарий

Нажимая на кнопку "Отправить комментарий", я даю согласие на обработку персональных данных и принимаю политику конфиденциальности.

  1. irmaseo.ru

    очень полезная информация, спасибо

    Ответить
  2. Дмитрий

    комментарии в тему

    http://webmee.ru/pljusy-i-minusy-kommentariev-k-postam-wordpress/

    Ответить
  3. Lokon

    Как сделать такую форму для комментариев? Смотреть фото https://prnt.sc/qnkuv7
    Поля: Имя и Email — появляются после нажатия на поле для ввода текстового сообщения.

    Ответить
  4. Alex

    Спасибо, интересная статья. Я как-то тыкался с настройкой комментариев, потом немного надоело, все равно не получается сделать так как хотелось бы.. Недавно наткнулся на AnyComment, вроде бы пока полет нормальный! Советую попробовать.

    Ответить
  5. Артем

    Игорь, помогите пожалуйста разобраться новичку. Недавно решил проверить страницу сайта на СЕО-оптимизацию (резко упала в поиске) и подсчитать точное вхождение заголовка (H1) в тексте статьи. Каково же было мое удивление когда я увидел цифру 23. Что я сделал: скопировал заголовок и через Ctr+F вставил в его в поиск. В статье он повторялся всего 2-3 раза, а остальные 20 раз — это комментарии статье. т.е. в самих комментариях его посетители не пишут естественно, но поиск его находит и подсвечивает в ползунке справа. На других блогах такого нет! Скажите это правильно или нет? Нужно это исправлять и как? Заранее спасибо, а вот и страница сайта: http://zarabotkionline.ru/zarabotok-v-internete-bez-vlozhenij-i-priglashenij-500-rublej-v-den/

    Ответить
    1. Игорь Горнов автор

      Артем, я проверил, содержание заголовка повторяется 3 раза на странице, это приемлемо. Я немного не понял в отношении поиска. Если вставить заглавие Вашей статьи в поисковую строку, то Яндекс, например, выдаст результаты, включающие ссылки на страницы различных ресурсов, где ссылка на Вашу статью будет на первом месте, что логично. Но откуда Вы взяли 20 повторов? Мне непонятно. Поясните.

      Ответить
  6. Наталья
    <img alt='' src='https://secure.gravatar.com/avatar/5df3edb7a64c51c8f092aa02ed00a795?s=45&d=https%3A%2F%2Fnataliablogs.ru%2Fwp-content%2Fuploads%2F2017%2F06%2Fgravatar-moy.jpg&r=g' srcset='https://secure.gravatar.com/avatar/5df3edb7a64c51c8f092aa02ed00a795?s=90&amp;d=https%3A%2F%2Fnataliablogs.ru%2Fwp-content%2Fuploads%2F2017%2F06%2Fgravatar-moy.jpg&amp;r=g 2x' class='avatar avatar-45 photo' height='45' width='45' itemprop="image" />  
    Ответить
    1. Игорь Горнов автор

      Наталья, видимо, itemprop прописан в шаблоне comments.php Вашей темы, там и надо искать.

      Ответить
  7. Наталья

    Ух сколько комментариев. Слабо надеюсь, что подскажете мне решение проблемы. Поставила Ваш код. Работает (ТТТ). Спасибо. Немного со стилями как-нить доделаю. Сейчас более глобальная проблема. Если прогонять мои страницы с комментариями через w3, то страницы с комментами (например, https://nataliablogs.ru/9481-bangkok-edem-v-tailand-s-detmi-semeynye-razvlechenia-pattaya/) дают ошибку из-за того, что в шаблоне на картинку граватара код
    Не подскажете, как убрать itemprop?
    Понимаю, что, если совсем аватарки убрать, то проблема решится, но хочется, чтобы и «волки были сыты…»

    Ответить
  8. Adbot

    Сложно все, с плагином попроще. Но конечно потом жизнь может усложниться. Как то всегда плохие воспоминания о плагинах.

    Ответить
  9. Кирилл

    И сразу еще один вопрос. Поддерживает ли такой механизм созданий комментариев тип загрузки lazy load? Ведь все это делается для ускорения загрузки.

    Ответить
    1. Игорь Горнов автор

      Кирилл, честно говоря, я не тестировал. Но вопрос в тему, стоит попробовать.

      Ответить
  10. Кирилл

    Ясно, с картинкой все стало понятно:)

    Ответить
  11. Кирилл

    Добрый день! Спасибо за информацию, уже долго ищу альтернативу Дискусу. Такой вопрос: не пытались ли Вы добавить возможность логиниться через социальные сети? Ведь это очень удобно. И еще я не совсем понял, как у некоторых пользователей в комментариях появляются картинки? Ведь фактически тут и регистрации вроде нет. Спасибо.

    Ответить
    1. Стас

      Вот вам еще одна альтернатива disqus, — getrate.me.

      Ответить
  12. Диана

    ‘themonic_comment’, ‘style’ => ‘ol’ ) ); ?>

    так в файле comments.php темы реализованы комментарии. Игорь, подскажите, пожалуйста, почему могут не выводится комментарии на блоге, и плюс они попадают под другие посты в админке

    Посмотрела все комментарии к вашему посту, не нашла ответа.

    Ответить
    1. Игорь Горнов автор

      Диана, похоже, код не отобразился до конца, поскольку Вы не заключили его между [php] и [/php]. Сразу тяжело выявить причину, потому как их может быть много. Скажите для начала, не редактировали ли Вы шаблоны темы непосредственно перед появлением этой проблемы?

      Ответить
  13. Михаил ATs

    А нИ проще вывести саму функцию комментирования в тему?? и править на здоровье))

    Ответить
  14. Андрей

    Здравствуйте, Игорь. На днях обнаружил, что на моем сайте форма с комментариями спряталась в подвале. Торчит только шапка. При клике на нее форма выпрыгивает, но при этом вся страница с записью сдвигается вверх и начало страницы прячется под шапкой сайта. Чтобы посмотреть начало статьи, нужно обновлять страницу. После этого появляется статья, а комментарии опять прячутся в подвал. Если не трудно, зайдите на мой сайт и посмотрите в любой статье. Подскажите пожалуйста, в чем проблема.

    Ответить
  15. Гани

    Здравствуйте Игорь, у меня проблемка(((
    Дело в том, что при отправке коммента аыходит ошибка 500, что делать и как ее устранить?

    Ответить
    1. Игорь Горнов автор

      Гани, ошибка 500 (Internal Server Error) может быть связана с некорректным редактированием файлов темы Вордпресс, с установкой какого-либо плагина или с неправильно внесенной информацией в файл .htaccess. Поскольку в вашем случае эта ошибка возникает при отправке комментария, то, скорее всего, причиной является некорректный код в шаблоне comments.php либо какой-либо фрагмент в functions.php.

      Подумайте как следует, что Вы в последнее время редактировали, это может быть причиной проблемы. Если ничего не приходит на ум, войдите в свой аккаунт хостинга и попытайтесь найти информацию о логах ошибок. Скорее всего, там Вы узнаете причину.

      Ответить
  16. Антон

    Спасибо за информацию

    Ответить
  17. Эльдар

    Отличная статья! Искал — где искать ) и как убрать слово «says» в комментариях! Спасибо!

    Ответить
  18. Alexander Dan

    Есть такой вопрос, обычно на сайте несколько администраторов, хотелось бы чтобы выделение цветом шло для каждого из них, а по сути получается выделение только комментов автора блога (т.е. суперадмина). Что не очень хорошо.

    Ответить
    1. Игорь Горнов автор

      В таком случае необходимо прописать свойства для каждого из админов.

      Ответить
  19. Наталья

    Спасибо большое за статью. Все очень понятно и подробно расписано. Пойду пробовать! )

    Ответить
  20. Сергей Дненисов

    Спасибо большое за инфу. Создал свой блог, такая подписка явно смотриться лучше. Правда сначала напортачил, не туда немного код всунул. Но потом все исправил, все работает спасибо!

    Ответить
    1. Игорь Горнов автор

      Пожалуйста, Сергей. Не ошибается тот, кто ничего не делает. Главное, все получилось. Это очень важно, когда делаешь своими руками, ведь опыт великая вещь. 🙂

      Ответить
  21. Алексей

    Здравствуйте!

    Мы разработали один из лучших по функциональности плагинов для комментирования под ВП: http://decomments.com.

    Предлагаю ознакомиться с подробным обзором: http://olexiyfedorov.com/blog/2015/03/04/de-comments-launch/

    Ответить
    1. Игорь Горнов автор

      Спасибо, Алексей, думаю, это полезная информация и читатели вправе узнать о ней. Тем более, как раз по теме статьи.

      Ответить
      1. Алексей

        Спасибо.
        Игорь, хотите попробовать для вашего сайта? Предоставлю купон на бесплатную лицензию. Если понравится — надеюсь, поддержите нас постом/обзором

        Ответить
        1. Игорь Горнов автор

          Хорошо, Алексей, я подумаю. 🙂

          Ответить
  22. Евгений

    Привет! а как убрать заголовки Добавить комментарий перед формой ввода данных для комментария? или хотя бы убрать этот h3 никому ненужный

    Ответить
    1. Игорь Горнов автор

      Евгений, для начала откройте инструмент разработчика (например, для Хрома можно просто нажать клавишу F12, выделите нужный элемент (в вашем случае надпись «Добавить комментарий») щелкните правой кнопкой и из выпадающего меню выберите «Просмотр кода элемента».

      Внизу страницы появится окно, в котором будет отображен выбранный элемент. Посмотрите, какой class или id у него прописан. Далее открывайте NotePad++, соединитесь со своим хостингом по ФТП, пройдите до шаблонов Вашей темы, которую используете.

      Далее попробуйте открыть файл, в котором может быть код для отображения нужного элемента (обычно за комментарии отвечает шаблон COMMENTS.PHP, но также функция может быть прописана и в FUNCTION.PHP). Далее с помощью поиска Нотпада попробуйте найти класс или идентификатор, который был отражен для данного заголовка h3 и просто уберите его.

      Однако, после этого придется отредактировать стили CSS, иначе надпись будет отображаться некорректно. Например, можно заключить эту надпись в контейнер DIV и прописать для него стили в STYLE.CSS. Также можно просто удалить всю надпись и сохранить файл. Только не забывайте делать резервную копию старой версии редактируемого шаблона, чтобы не нажить проблем.

      Ответить
  23. Andrey

    Спасибо за труд статья очень помогла, все расписано, попробовал и все получилось, комментарии без плагинов, это просто неоходимо для меньшей нагрузки на сайт WordPress.

    Ответить
  24. Andrey

    Отличная статья. Спасибо за труд, сегодня буду пробовать настройку комментариев, ведь без использования плагинов в wordpres, это всегда хорошо.

    Ответить
  25. Борис

    Игорь, уже вроде бы все обошлось. Выскакивали ошибки связанные с кодировкой php. Несколько раз перезакачивал function.php на сайт, но помогло сохранение файла в программе PSPad. Проблема была пробелах и пустых строчках в этом файле. Не хочу сказать ничего такого, может это совпадение или у меня что-то было не так, но все-таки проверьте Ваш код комментариев на wordpress, т.к. у меня сразу после вставки пошли проблемы — возможно где-то пустые строки или незакрытые цикли.

    Ответить
    1. Игорь Горнов автор

      Хорошо, Борис, спасибо за информацию.

      Ответить
  26. Борис

    после вставки кода в файл 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 — выходит другая ошибка и сайт все равно не грузит…
    Для меня это жесть, т.к. этот сайт просто НЕОБХОДИМ мне для работы!
    очень прошу помощи!

    Ответить
    1. Игорь Горнов автор

      Борис, я так понимаю, после возврата прежнего содержания function.php все равно выдает ошибку. Какую? Возможно, она не связана с Вашими действиями.

      Ответить
  27. Новичок

    Добрый день, Игорь.
    Очень много полезного. Но я не нашел то что искал, может вы сможете мне помочь.
    Некоторые посетители оставляют большие комментарии, что затрудняет пролистывание и поиск, особенно если заходить со смартфона. Как можно вставить тег «читать далее» или «читать весь» в комментарии, который свыше 5 или 7 строк?
    На мой взгляд очень хорошо это реализовано на http://www.youtube.com.
    Можно как это реализовать на wordpress без плагина?

    Ответить
    1. Игорь Горнов автор

      Пока не думал об этом, но идея действительно хорошая.

      Ответить
  28. Ната

    Удалите первый коммент. Я не вставила код как надо.
    Ребят спасибо накопала где этот файл сидит. Все что хотела перевела теперь не могу найти где выводится количество комментов, какая функция за это отвечает. Мне надо чтобы цифры не выводились. Подскажите а то я в этом совсем не сильна. Я понимаю что то что с надписью «count», но не могу сообразить везде пишут про функции где есть «number» здесь ее нет.

     
    &lt;?php
    $count = 0;
    $comment_entries = get_comments(array( 'type'=&gt; 'comment', 'post_id' =&gt; $post-&gt;ID ));
    if(count($comment_entries) &gt; 0){
        foreach($comment_entries as $comment){
            if($comment-&gt;comment_approved)
                $count++;
        }
    }
    ?&gt;
    &lt;div id=&quot;comments&quot; class=&quot;header&quot;&gt;
              
                            &lt;h4 class=&quot;single_title&quot;&gt;&lt;?php echo esc_html($count) ?&gt; &lt;/h4&gt;
                          
                            &lt;div class=&quot;row-fluid comments_list&quot;&gt;
                                
                               &lt;?php
                                if ( have_comments() ) : 
                                    if(!empty($comment_entries)){
                                        wp_list_comments( array( 'type'=&gt; 'comment', 'callback' =&gt; 'codeless_custom_comment' ) );
                                    }
                                    paginate_comments_links(); 
                                endif;
                                ?&gt;
                                                            
                            &lt;/div&gt;
    &lt;/div&gt;
    
    &lt;?php comment_form(array('title_reply' =&gt; '&lt;span&gt;' ._('Оставить комментарий'). '&lt;/span&gt; '), $post-&gt;ID ) ?&gt;
    
    
        
    &lt;?php
        
    function codeless_custom_comment($comment, $args, $depth){
            
            ?&gt;
                    &lt;div class=&quot;comment &lt;?php if($depth == 1) echo 'span12'; else echo 'span11 offset1'; ?&gt;&quot;&gt;
                        
                                &lt;dl class=&quot;dl-horizontal&quot;&gt;
                                    &lt;dt&gt;
                                        &lt;?php echo get_avatar($comment, '64') ?&gt;    
                                    &lt;/dt&gt;
                                    &lt;dd&gt;
    					                &lt;span class=&quot;author&quot;&gt;&lt;a href=&quot;&quot;&gt;&lt;?php echo get_comment_author_link($comment) ?&gt;&lt;/a&gt;&lt;/span&gt;
                                        &lt;ul&gt;
                                           
                                            &lt;li&gt;&lt;span&gt;&lt;?php comment_date('M j Y', $comment) ?&gt;&lt;/span&gt;&lt;/li&gt;
                                            &lt;li&gt;&lt;span&gt;&lt;?php comment_reply_link(array_merge( $args, array('depth' =&gt; $depth, 'max_depth' =&gt; $args['max_depth']))) ?&gt;&lt;/span&gt;&lt;/li&gt;
                                            &lt;li&gt;&lt;span&gt; &lt;?php edit_comment_link() ?&gt;&lt;/span&gt;&lt;/li&gt;
                                        &lt;/ul&gt;
                                        &lt;div class=&quot;comment_text&quot;&gt;
                                            &lt;?php echo get_comment_text($comment); ?&gt;
                                                &lt;?php if ($comment-&gt;comment_approved == '0') : ?&gt;
                                                        &lt;span&gt;Ваш комментарий будет проверен модератором.&lt;/span&gt;
                                                &lt;?php endif; ?&gt;  
                                        &lt;/div&gt;     
                                    &lt;/dd&gt;
                                &lt;/dl&gt; 
                    &lt;/div&gt;
     &lt;?php } ?&gt;
    
    Ответить
    1. Vlad

      Надписи я так понял вы убрали полностью, остался просто счетчик комментариев, который вы тоже хотите убрать.

      Если просмотреть через «Просмотр кода элемента», то можно увидеть, что за отображение счетчика отвечает вот этот кусок кода:

                
                              0 
                            
                              
                                  
                                                                                         
                              
      

      Потом смотрим основной код и делаем вывод, что нужно удалить участок примерно с 1-й по 27 строчку, так как именно на 27 стоят конечные теги .

      Хотя участок 17-13 меня немного смущает… Надеюсь, Игорь меня подправит! 🙂

      Ответить
      1. Vlad

        17-23 — подправьте немного! 😉

        Ответить
      2. Ната

        СПАСИБО ЗА ПОМОЩЬ! ВЫ смотрите через хром «Просмотр кода элементов»? У меня видно
        0
        Спасибо попробую удалить с 17 по 23 строки. Подправить немного не знаю как. Попробую просто снести.

        Ответить
        1. Ната

          Ох ты код не видно сейчас напишу

           &amp;lt;h4 class=&amp;quot;single_title&amp;quot;&amp;gt;0 &amp;lt;/h4&amp;gt; 
          Ответить
          1. Ната

            Удалила код между 11 и 27 строкой . Спасибки все получилось. Дай Бог тебе здоровье!!!!!

          2. Vlad

            Рад, что у вас все получилось! Будут вопросы, обращайтесь! 🙂

        2. Vlad

          Да, через хром. Только я прописывал не 0, а кусок кода…
          Смотрю, ваш код выше начал нормально хоть отображаться!

          Ответить
        3. Vlad

          «Подправьте немного» — это я не вам говорил, а Игорю!

          А так, в принципе вы все сделали правильно! =)

          Ответить
  29. Елена

    Спасибо, Игорь! Очень помогла ваша статья. Долго билась с проблемой, когда вместо стандартной аватарки для тех, у кого нет своего граватара, на сайте отображалась битая картинка. Пришлось в коде файла comments.php делать изменения по вашим подсказкам. И заработало!

    Ответить
  30. Ната

    Здравствуйте Игорь. Делаю сайт не могу понять в каком файле поменять название на русское шаблон на аглицком вот тут на скрине, подскажите а то я что то не пойму, вашу статью почитала но что то не соображу где надо покопать чтобы перевести
    http://f-picture.net/lfp/s005.radikal.ru/i212/1502/6f/3cf8ed274ae1.png/htm

    Ответить
    1. Vlad

      Здравствуйте! Могу помочь, если хотите! 😉

      Ответить
      1. Ната

        Хочу а что для этого надо?

        Ответить
        1. Vlad

          Отправьте свой шаблон мне на почту и я посмотрю.
          P.S. Мои контакты указаны на сайте.

          Ответить
          1. Игорь Горнов автор

            Vlad, спасибо за содействие, иногда не успеваю вовремя ответить читателям, запарка. Тогда я не буду вмешиваться, надеюсь Вы поможете Нате в полном объеме.

          2. Vlad

            Если есть возможность, то почему бы и не помочь!
            P.S. Тоже на это надеюсь, если конечно дождусь ответа! 🙂

  31. Seosko

    Хорошая форма комментариев сейчас бесценна для любого блога, ну впринципе и не только для блога. Давно хотел всё переделать в комментах, спс за инфу.

    Ответить
  32. Антон

    Спасибо, хорошая статья, еще хотелось бы увидеть как настраивается сама форма, строки Имя, E-mail, Сайт и кнопка отправить комментарий

    Ответить
  33. Сергей Фатеевич

    Вот так выглядит у меня
    http://vfl.ru/fotos/c162e1977398114.html
    А хочу чтобы было как у вас
    http://vfl.ru/fotos/2a3fc4297398115.html
    И подскажите еще как убрать значки перед комментариями.
    Заранее спасибо!

    Ответить
    1. Игорь Горнов автор

      Сергей Фатеевич, попробуйте сделать следующие изменения в файле style.css Вашей темы. Для начала найдите свойство на 621 строчке:

      .commentmetadata {
      	margin:0;
              display:block;
      }

      Здесь вместо margin:0 вставьте следующие строчки:

      margin-left:125px;
      margin-top:30px;
      margin-bottom:20px;

      Полностью новый набор свойств будет выглядеть так:

      .commentmetadata {margin-left:125px;margin-top:30px;margin-bottom:20px;display:block;}

      Затем добавьте в конец style.css:

      .comment-author {float:left;}

      Все должно получиться.

      Ответить
      1. Сергей Фатеевич

        Все сделал, получилось в одну строчку — большое спасибо, но хотелось бы еще, чтобы надписи были вверху как у вас, просто у меня в низу.

        Ответить
        1. Игорь Горнов автор

          Для этого нужно сделать следующее. Вместо набора свойств:

          .commentmetadata {margin-left:125px;margin-top:30px;margin-bottom:20px;display:block;}

          вставьте такой:

          .commentmetadata {margin-left:125px;margin-bottom:50px;display:block;}

          Затем в style.css добавьте такие стили (можно в самый конец):

          .comment-author img {float:left;}

          и

          cite {margin-left:10px;}

          Отпишитесь, пожалуйста, о результате.

          Ответить
          1. Сергей Фатеевич

            Теперь дата вверху как и надо, а логин комментатора остался внизу.

          2. Игорь Горнов автор

            Вы забыли добавить стиль в style.css:

            .comment-author img {float:left;}
          3. Сергей Фатеевич

            нет, я все добавил, как вы написали

          4. Сергей Фатеевич

            Только теперь логин комментатора стал выше а дата чуть ниже

          5. Игорь Горнов автор

            Добавьте такой стиль:

            .comment-author {float:left;}

            Также на строке 631 у Вас ошибка. Должно быть так:

            cite {margin-left:10px;}

            Без точки, а у Вас .cite (с точкой впереди). Кроме этого, на строке 621 со стилями класса .commentmetadata поменяйте значение свойства margin-bottom (вместо 20px поставьте 50px).

          6. Сергей Фатеевич

            Спасибо Игорь все получилось, сначала маленько недопонял, можно было быстрее сделать и вас лишний раз не отвлекать. И хотел еще напоследок узнать:
            1) Как убрать в комментариях подчеркивание под датой и admin?
            2) Как сделать в комментариях стандартные аватарки как у вас?
            Простите за наглость, совсем новичок в этом деле, напишите или скиньте ссылочку на материал, буду благодарен.

          7. Игорь Горнов автор

            Если хотите убрать подчеркивание на всех ссылках, а не только в комментариях, то найдите строку 27 в style.css, там должен быть такой стиль:

            a {
            color: #C10504;
            }

            Добавьте вот такое свойство CSS:

            text-decoration: none;

            В результате получится такой набор свойств:

            a {
            color: #C10504;
            text-decoration: none;
            }

            Ну, а с аватарками еще проще. Зайдите в админку Вордпресс и перейдите в раздел «Настройки» — «Обсуждение». В самом низу будет подраздел «Аватар по умолчанию». Выбирайте, какой желаете, после чего нажмите на кнопку «Сохранить изменения». У меня, например, установлен «Wavatar (Автоматически)».

          8. Сергей Фатеевич

            И как мне поменять форму отображения даты в комментариях?

          9. Сергей Фатеевич

            Еще раз спасибо Игорь, очередной раз подтверждаете, что вы профессионал своего дела. Даже не знаю как вас отблагодарить. Ну, если в что, как сайт более менее наполню статьями, ссылочку на вас поставлю. Ну ладно, если еще что надумаю изменить у себя на сайте, обязательно спрошу, уже есть некоторые вопросы, пока попробую сам разобраться. А пока пойду дальше изучать ваши статьи.

          10. Игорь Горнов автор

            Хорошо, Сергей Фатеевич. 🙂

  34. Сергей Фатеевич

    Здравствуйте! Сделал все как вы написали, вроде получилось. Еще такой вопрос? — как сделать, чтобы логин, им и дата выводились в одну строку как у вас, у мен просто маленько не так?!

    Ответить
    1. Игорь Горнов автор

      Вывод в одну строку? Вы имеете ввиду данные комментаторов?

      Ответить
      1. Сергей Фатеевич

        Или пример можете посмотреть у меня на сайте, я сделал 2 пробных комментария.

        Ответить
  35. Veranka

    Сайт хорош, слов нет. Все удобно, мобильно. Я в восторге, надеюсь и остальные оценят

    Ответить
  36. Vundar

    По началу после установления первой функции возник белый экран вместо сайта и панели вордпресса, нужно было удалить старую функцию по комментам, разобрался, всё работает спасибо. а то все плагины перепробовал, они лишь грузят лишним контентом.

    Ответить
  37. vundar

    после добавления функции function mytheme_comment($comment, $args, $depth)…….. Сайт полностью слетел вместе с вордпрессом, нельзя даже вернуть как было… благо делаю всегда бэкапы.

    Ответить
    1. Игорь Горнов автор

      Вот для этого бэкапы и нужны. 🙂

      Ответить
  38. Марсель

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

    Ответить
    1. Игорь Горнов автор

      Марсель, у Вас стандартная тема Вордпресс или самописная? Эта проблема возникла после редактирования шаблона?

      Ответить
  39. Марсель

    а не подскажешь в чем причина?
    когда нажимаю ответить на запись комментария то у меня обновляется страница.
    сначала вроде такого не было.
    то есть я нажимаю ответить на запись и у меня происходит переадресация.((
    пожалуйста!)

    Ответить
  40. AnSummer

    Ничего, что статья большая получилась и спасибо, что так разжевали. И еще хорошо, что каждое изменение сопровождают картинки. Не так страшно в коде колупаться)).

    Ответить
  41. Галина Шевалер

    Приветствую всех!

    У меня имеется следующая проблема и нигде не нахожу путей её решения, а собственных знаний не хватает.

    Дело в том, что на моем блоге в комментариях полностью отсутствуют абзацы. то есть посетитель оставляет нормальный комментарий с абзацами и параграфами, а отображается все одним сплошным текстом + к этому смайлики не работают (то есть двоеточие и скобочка не преображаются в смайлик).

    Не подскажите как решить проблему?

    Заранее благодарю!

    Ответить
    1. Игорь Горнов автор

      Галина, проблема с абзацами была у одного из читателей:

      http://goldbusinessnet.com/optimizatsiya-wordpress/kommentarii-wordpress-nastrojka-bez-plaginov/#comment-64763

      Лично я с подобным не сталкивался. Там указан его сайт, попробуйте с ним связаться. Что касается смайликов, то скорее всего, эта задача решается следующим способом. Войдите в панель управления WP, из левого меню перейдите в «Настройки» — «Написание» и поставьте галочку напротив опции «Преобразовывать смайлики наподобие 🙂 и 😛 в картинки».

      Ответить
      1. Галина+Шевалер

        Спасибо за наводку — поищу нужного человека среди комментаторов!

        А галочка у меня стоит — но смайлики все равно не преобразуются, вот в чем вся суть проблемы 🙂

        Ответить
  42. Владимир

    Буду признателен помощи решить вопрос: как реализовать добавление к надписи «N комментариев» и далее заголовок материала. Так же, как это реализовано на этом сайте. Заранее спасибо за ответ

    Ответить
    1. Игорь Горнов автор

      Владимир, попробуйте сделать следующим образом. В файле comments.php найдите строчку:

      <?php if ( have_comments() ) : ?>

      Сразу под ней вставьте такую конструкцию:

      <h2 class="comments-title">
      			<?php
      				printf( _n( 'One thought on “%2$s”', '%1$s thoughts on “%2$s”', get_comments_number()),
      					'<span>' . number_format_i18n( get_comments_number() ) . '</span>' , '<span>' . get_the_title() . '</span>' );
      			?>
      		</h2>

      Думаю, излишне напоминать, чтобы Вы обязательно сохранили прежний вид содержимого файла, чтобы в случае неудачи можно было бы его восстановить. Рекомендую использовать notepad++.

      Ответить
      1. Владимир

        Спасибо большое! Все получилось. Только «thought» заменил на свой вариант.

        Ответить
      2. Владимир

        Кстати при переходе из письма, которое приходит на почту (уведомление о комментарии на вашем сайте), было бы неплохо как-то реализовать, чтобы сразу показывался ответ (автоматическая прокрутка на место в списке комментариев). Если надумаете это внедрить на сайте, дайте знать, я тоже у себя поставлю. Спасибо еще раз. Буду дальше изучать ВП с помощью вашего сайта

        Ответить
        1. Игорь Горнов автор

          Хорошо, Владимир, я учту Ваши пожелания, хотя даже не знаю, когда этим займусь, суток просто не хватает на реализацию всех задумок.

          Ответить
  43. Таня

    Игорь подскажите пожалуйста, почему когда я в окне комментариев пишу например очень длинное слово, оно находится в пределах окна, а когда комментарий отправлен, то оно выходит за пределы. Т.е. вот, например на вашем сайте моя запись будет находиться в пределах окошечка, а на моем сайте текст вылазеет.

    Ответить
    1. Игорь Горнов автор

      Таня, возможно, некорректно прописаны соответствующие CSS правила. Дайте ссылку на проект, попробую оказать содействие. 🙂

      Ответить
  44. Тим

    Здравствуйте!
    Помогите разобраться: почему у тех кто отвечает на мои сообщения, так же подсвечивается текст в комментарии? Хотя в style.css добавил только себя.

    Ответить
    1. Игорь Горнов автор

      Тим, или Вы где-то допустили неточность, или это связано с особенностью Вашей темы Вордпресс. К сожалению, так бывает, универсальных методов для всех без исключения нет.

      Ответить
  45. Vlad

    Здравствуйте!

    На блоге (блог не мой) комментарии не реагируют на абзацы… (при написании нажимаем enter, а после опубликования он исчезает)…

    Можете что-то посоветовать?

    Ответить
    1. Игорь Горнов автор

      Vlad, исчезает комментарий полностью? А если писать не соблюдая абзацы, комментарий публикуется? Честно говоря, не сталкивался с такой проблемой в WordPress. Попробуйте поискать на официальном вордпрессовском форуме:

      http://ru.forums.wordpress.org/
      Ответить
      1. Vlad

        Нет, комментарии просто не разбивались на абзацы!

        Проблема уже решена!

        Ответить
  46. Александр

    Здравствуйте. Не совсем понял… В самом начале Вы говорите: «…укажем массив $args для функции wp_list_comments и несколько необходимых строк этого массива со значениями.». Как это сделать? Прошу прощения за глупый вопрос, я ещё совсем чайник! Как я понял, надо этот массив тупо скопипастить под строчкой ? Но если я так делаю — то вылезает синтаксическая ошибка «unexpected ‘<', expected ')'. Что я делаю не так? Очень хочу красивую линейку комментариев! Помогите, пожалуйста, советом!

    Ответить
    1. Игорь Горнов автор

      Да пожалуйста, Александр. Я же в статье расписал все параметры для массива функции wp_list_comments. Ошибка синтаксиса означает, что у Вас где-то пропущен символ «)» перед «<". Но в тексте код дан верно, я проверил. Вы уверены, что ошибка возникает после вставки именно этого фрагмента? Видите ли, очень тяжело давать советы, если нет темы под рукой, поэтому иногда бывают накладки.

      Ответить
  47. Александр

    К сожалению, во время вставки кода «<?php $args = array(……." в comments.php на сайте вылезает ошибка синтеза "Parse error: syntax error, unexpected '<', expecting ')' in". Что я не так делаю? 🙁

    Ответить
  48. Наталья Грамоткина

    Спасибо, Игорь, возможно обращусь к Тимуру…Параллельно я обращалась к Вам и к Борисову по этому вопросу. Он сказал, что сам в шаблонах не копается, что ему этот шаблон так же дорабатывали. Дал контакт фрилансера. Я ему написала, но пока он не ответил. Так что, если поможет этот верстальщик, то хорошо, если нет обращусь к тому, что Вы рекомендовали. В любом случае, Вам спасибо огромное! Если мне поможет Тимур, я Вам напишу…

    Ответить
    1. Игорь Горнов автор

      Хорошо, Наталья.

      Ответить
  49. Наталья+Грамоткина

    Спасибо большое, Игорь, за желание помочь! Тему я покупала у Александра Борисова, а где он ее брал не знаю, наверно на этом сервисе. Содержимое файла FUNCTION.PHP я Вам отправила 🙂

    Ответить
    1. Игорь Горнов автор

      Наталья, я не нашел в function.php функции, которая бы регулировала отображение комментариев на статических страницах. Если Вы покупали тему у Борисова, думаю, следует обратиться к нему. Я не отказываюсь помочь начинающим, только если проблема лежит на поверхности и не требует значительных усилий для ее решения.

      К сожалению, у меня нет времени заниматься вплотную редактированием тем с каждым, по крайней мере, на данный момент. Если Вы не найдете решения, попробуйте обратиться к настоящему специалисту в области WP:

      http://wp-kama.ru/

      Только не сочтите за труд потом написать, нашли ли вы решение с помощью Тимура (это админ блога, адрес которого я указал выше). Для меня это крайне важно.

      Ответить
  50. Наталья Грамоткина

    Еще забыла написать, по поводу размера окна комментариев, можно ли его расширить. У меня уж очень оно узкое, неудобно писать… Заранее большое спасибо!

    Ответить
    1. Игорь Горнов автор

      В общем, расширять нет смысла, поскольку это может сделать каждый пользователь вручную. Для этого нужно просто подвести курсор к нижнему правому краю окна ввода текста комментариев, нажать левую кнопку мышки и, не отпуская ее, растянуть окно в ширину и в высоту настолько, насколько будет удобно. Если же Вы все таки хотите увеличить, например, его высоту, то откройте файл стилей style.php, найдите строку 2407, где будет правило для #comment, в нем измените свойство:

      height: 61px;

      Можете, например, поменять значение на 161px. После этого область комментирования растянется в высоту.

      Ответить
      1. Наталья+Грамоткина

        Спасибо большое, Игорь. Увеличила окно комментариев. А по поводу комментариев на страницах, вставила строку в PAGE.PHP там где Вы указали,но ничего не изменилось 🙁

        Ответить
        1. Игорь Горнов автор

          Наталья, попробуйте вставить такую строчку:

          <?php comments_template(); ?>

          Если это не поможет, то нужно поковырять function.php темы. Возможно, у Вас запрещены в принципе комментарии на статических страницах.

          Ответить
          1. Наталья+Грамоткина

            Попробовала, но чуда не произошло… Жаль…А как еще можно поковырять function.ph? Думаю стоит это сделать, видно дело в этом…

          2. Игорь Горнов автор

            Наталья, скажите, а свою тему xmarkup вы заказывали на одноименном сервисе xmarkup.ru? Среди вордпрессовских тем такой нет, поэтому не удалось проанализировать. Скопируйте и пришлите мне содержание файла FUNCTION.PHP. Только сделайте это по электронной почте, чтобы не засорять громоздкими кодами комментарии. Попробую помочь, хотя ничего не гарантирую.

  51. Наталья

    Подскажите, что нужно сделать чтобы выводились комментарии на СТРАНИЦАХ. В записях выводятся нормально, а на страницах нет. В «настройки»- «обсуждения»- «Разрешить оставлять комментарии на новые статьи» галочка стоит. В админке «страницы» — «настройки экрана» все галочки стоят («комментарии» тоже). Но самого окна комментариев на странице нет. При чем в старой теме у меня тоже так было, поставила новую и в ней так же. НО! Такая как у меня «новая» тема стоит еще на одном староннем сайте и там комментарии на страницах есть. Значит, я так думаю, нужно править код? И еще когда поставила новую тему, комментарии в ЗАПИСЯХ идут не по очереди. Когда пишу ответ на вопрос,то он ставится не под соответствующим комментарием, а аж после всех в самом конце. Подскажите, пожалуйста, как это можно исправить?

    Ответить
    1. Игорь Горнов автор

      Наталья, если не выводятся комментарии, откройте шаблон, отвечающий за отображение статических страниц PAGE.PHP и проверьте, есть ли там строчка:

      <?php comments_template( '', true ); ?>

      Если отсутствует, то вставьте ее перед функцией завершения цикла:

      <?php endwhile; // end of the loop. ?>

      А вот насчет нарушения порядка очередности комментариев навскидку ничего сказать не могу. Возможно, у Вас запрещены древовидные комментарии. Чтобы исправить это, в админке WordPress войдите в раздел «Настройки» — «Обсуждение» и поставьте галочку напротив опции «Разрешить древовидные (вложенные) комментарии».

      Ответить
  52. максим

    Вот плагин, который выделяет комментарий автора блога, довольно таки полезный. Надо будет себе такой установить.

    Ответить
  53. Rencontrez

    Я вот совсем убрал у себя пункт «url». Не знаю правильно ли сделал…

    Ответить
    1. Игорь Горнов автор

      Rencontrez, если Вы имеете ввиду графу в форме комментариев, то здесь палка о двух концах. С одной стороны, Вы практически избавитесь от спама, нежелательных исходящих ссылок, что очень неплохо с точки зрения продвижения проекта и его ранжирования. С другой стороны, особенно, если у Вас проект молодой, можно лишиться значительной части комментариев.

      Конечно, если сообщения оставляются ради получения линка, они гроша ломаного не стоят, но все же какая-то часть потенциально ценных комментариев будет утеряна. В общем, по достижении определенного уровня посещаемости можно и удалить графу «URL». Честно говоря, я сам подумываю об этом, поскольку львиная часть сообщений на блоге вполне конструктивные и оставляется людьми, так сказать по велению души, а не из меркантильных соображений.

      Ответить
  54. Алексей

    Версия 3.9
    В каталоге /wp-includes есть файл comment.php (у вас написано comments.php). Строчки в этом файле нет.
    Подскажите, может я не тот файл смотрю или в этой версии такого вообще нет.
    Спасибо.

    Ответить
    1. Игорь Горнов автор

      Алексей, этот файл нужно искать в папке с Вашей темой: ваш_домен/wp-content/themes/название_вашей_темы/comments.php. Именно comments.php.

      Ответить
      1. Алексей

        Большое спасибо, нашел файлик)))

        Ответить
  55. Игорь Горнов автор

    Это весьма странно. Копируется либо все, либо ничего.

    Ответить
    1. Игорь Горнов автор

      Хотя, кажется, понял, Михаил, о чем Вы. Видимо о том, что Вордпресс жрет код. Внимательно почитайте руководство перед вставкой кода, которое находится чуть выше поля ввода комментариев.

      Ответить
  56. Михаил

    На одной из страниц не отображается форма комментария, что делать помогите? Уже глаза порвал, в вордпрессе птичка стоит в свойствах страницы, а саму страницу «обо мне » открываю там ничего, в то время как в обычных статьях на главной всё есть, фот форма может подскажите что исправить
    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»});

    Ответить
  57. Роман

    Здравствуйте!

    Не могу найти у себя в стилях comment-body. Хотя Firebug показывает его в консоли HTML в Firebug. Как быть? Я хочу заменить фон комментариев…

    Ответить
    1. Игорь Горнов автор

      Роман, посмотрите, в каком файле находится comment-body, в Firebug чуть выше должна быть ссылка на него. Возможно использование нескольких файлов стилей.

      Ответить
  58. Максим

    Доброго времени суток! Не могу понять, как вывести вместо надписи «Можно использовать следующие 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 я не знаком, вот только сейчас пришлось столкнуться.

    Ответить
    1. Игорь Горнов автор

      Максим, зашел к Вам на сайт, смайлы у Вас внизу относительно поля комментирования, или я что-то не понял…

      Ответить
      1. Максим

        Игорь, это я сделал замену в файле wp-includes/comment-template.php. Но при обновлении вордпресса опять всё слетит. Вот и меняю шаблон, чтобы всё сохранялось после обновления. Прилагаю скрин с редактируемой темы. http://yadi.sk/d/KDhOpAGXJE7vF

        Ответить
        1. Игорь Горнов автор

          Максим, попробуйте сделать следующим образом:

          <?php $comments_args = array(
                  'comment_field'        => '<p class="comment-form-comment"><label for="comment">' . _x( 'Comment', 'noun' ) . '</label><textarea id="comment" name="comment" cols="45" rows="8" aria-required="true"></textarea></p><p>qipsmiles(‘ru’)</p>',
                  'comment_notes_after' => '',
          ); ?>
          <?php comment_form($comments_args); ?>
          Ответить
          1. Максим

            Игорь, вставил код, всё равно отображается текст вместо смайлов. Скриншот по ссылке: http://yadi.sk/d/yDnIgotGJS6i2

          2. Игорь Горнов автор

            Максим, прошу прощения я что-то накосячил с ответом, видимо цейтнот сказывается. Конечно, надо вставить функцию вместо qipsmiles(‘ru’), полностью код должен выглядеть так:

            <?php $comments_args = array(
                    'comment_field'        => '<p class="comment-form-comment"><label for="comment">' . _x( 'Comment', 'noun' ) . '</label><textarea id="comment" name="comment" cols="45" rows="8" aria-required="true"></textarea></p><p><?php if (function_exists('qipsmiles')) qipsmiles('ru'); ?></p>',
                    'comment_notes_after' => '',
            ); ?>
            <?php comment_form($comments_args); ?>
          3. Максим

            Вставил код, теперь выдаёт ошибку: 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-…..

          4. Игорь Горнов автор

            Максим, тогда не знаю, честно. Я смайлы себе не ставил.

  59. Роман

    Игорь, количественное склонение комментов отлично придумано, подскажи как убрать заголовок ‘0 комментариев’ если они к данной записи отключены.

    Ответить
    1. Игорь Горнов автор

      Роман, а на страницах, где комментарии отключены, есть надпись ‘Комментарии запрещены’ или только надпись ‘0 комментариев’?

      Ответить
      1. Роман

        Сначала заголовок 0 комментариев, а под ним комментарии запрещены,
        как его вообще убрать у данных записей.

        Ответить
        1. Игорь Горнов автор

          Роман, откройте файл comment.php темы, найдите фразу ‘Comments are closed’ и удалите ее. Должно сработать.

          Ответить
          1. Роман

            Тему с нуля делал, единственное что сдесь остаётся подправить сам код,
            добавить что-то типа: если комментарии запрещены, то, заголовок (0 комментариев) не выводить…

              plural_form (get_comments_number(), array ('комментарий','комментария','комментариев')); 
              </h3>
            
              function plural_form($number, $after) 
              { $cases = array (2, 0, 1, 1, 1, 2);
              echo $number.' '.$after[ ($number%100>4 && $number%100<20)? 2: $cases[min($number%10, 5)] ]; }
            
              if (!comments_open($post->ID))
              { echo ""; }
              else { if (!get_comments_number()) 
              { echo "<p class='nocomments'>пока нет, вы можете стать первым</p>"; } }
            
          2. Игорь Горнов автор

            Роман, я так понимаю, это фрагмент из function.php. Попробуйте для пробы удалить строки 8-11 и в файл comments.php вставить после строчки:

            <?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. -->
                   <?php endif; ?>
            <?php endif; ?>
          3. Роман

            Игорь, привет.

            paginate_comments_links()

            если не ошибаюсь добавляет постраничную навигацию к комментариям а у меня ее нет,

            if 
            (!comments_open($post->ID))
            { echo ""; } //сдесь был вывод коммент., запрещены.
            else { if (!get_comments_number()) { echo "<p class='nocomments'>пока нет, вы можете стать первым</p>"; } }
            

            полагаю что дело все в функции

            comments_open($post_id)

            через проверку комментариев, а далее запретить вывод блока комментирования если коммент., к записи отключены…

          4. Игорь Горнов автор

            Не пойму, вообще, судя по коду, надпись не должна выводится.

          5. Роман

            Самой то строки «комментарии запрещены» теперь нет с ней разобрался, но остается заголовок «0 комментариев», а там где они отключены само наличие этой строки уже не логично, этот код что ниже из comments.php вот он то и отвечает за вывод этого заголовка.

  60. саша

    Здравствуйте! Очень интересная статья! Люблю читать Ваш блог — много полезной инфы для начинающих!
    Возник вопрос — хочу реализовать отзывы на сайте таким образом: колонка с комментариями должна повторяться во всех записях, и комментарии например со страницы 1 были видны и на странице 2, 3 и т.д.
    На данный момент реализовал только так: на каждой странице — своя колонка с комментариями. Объясните пожалуйста, как реализовать задуманное.

    Ответить
    1. Игорь Горнов автор

      Саша, к сожалению, я не совсем понял Ваше желание. Комментарии к определенной статье ведь тематические и по определению должны соответствовать только ей. В общем, и Вордпресс устроен таким образом, что комментарии выводятся отдельно к каждой из страниц. Или Вы имеете ввиду последние комментарии, которые можно реализовать в футере или сайдбаре?

      Ответить
  61. Ирина

    Огромное спасибо за представленную информацию. Мало кто так хорошо опишет все, что нужно людям. Буду постоянно обращаться к вашему сайту за помощью.

    Ответить
  62. Роман

    А не подскажете, можно ли увеличить число древовидных комментов с 10 до 20 допустим? А то вордпресс ограничивает. Неужели просто найти 10 и исправить?

    Ответить
    1. Игорь Горнов автор

      Роман, честно говоря, не задавался подобным вопросом. Считаю, что 10 и так слишком много. У меня установлен уровень 5.

      Ответить
  63. алексей

    добрый день мой сайт сделан через программу artisteer установить то что вы написали выше очень хотелось бы. я попробовал и ничего не смог изменить. я приложу два файла может вы посмотрите что можно сделать. спасибо.

    Ответить
    1. Игорь Горнов автор

      Алексей, напишите поконкретнее мне на e-mail, что бы Вы хотели изменить и приложите файлы в письме. Хотя глобальное редактирование шаблонов тем с этого года я планирую сделать платным, к сожалению, бесплатный лимит выработан, поскольку это занимает очень много времени порой. Но Вам я постараюсь помочь, поскольку еще не определены тарифы.

      Ответить
  64. Виктор

    Здравствуйте,
    я нашел фонт-сайз, но изменив его смог изменить только грифт в записи,но не в комментариях.
    Там вообще какой то странный ксс, я отправил вам его на почту.
    Скажите мне em менять, или искать в других файлах?

    Ответить
    1. Игорь Горнов автор

      Видите ли, Виктор, нужно четко понимать, к какой области дизайна страницы относится то или иное правило CSS. Скорее всего, у Вас отдельно прописаны свойства для шрифтов в комментариях. Поищите в файле style.css стили, относящиеся к id или классам с названием, в которое входит comment или comments, обычно в темах это так. В случае, если это слишком затруднительно, пришлите на почту ссылку на Ваш ресурс, это было бы идеальным выходом из ситуации. Файл я Ваш получил, но вырванный из контекста кусок очень трудно редактировать и додумывать. Поэтому в случае невозможности предоставить URL Вашего сайта пришлите полный файл style.css туда же на e-mail.

      Ответить
  65. Максим

    Здравствуйте, Игорь!
    Пользуюсь плагином для комментариев WordPress Thread Comment. Не знаю у кого спросить, поэтому обращаюсь к вам.

    Когда нажимаю «ответить» возле комментария, пишу сообщение и пытаюсь отправить, выскакивает окошко «comment can not be empty», что означает «комментарий не может быть пустым». Подскажите пожалуйста, как решить проблему?

    P.S. В настройках плагина id формы комментариев указана правильно. Видимо, плагин думает, что комментарий пустой, потому что не может понять, что textrea (поле, куда вводится комментарий) — это есть есть комментарий.

    Ответить
    1. Игорь Горнов автор

      Максим, мне очень жаль, но я не тестировал этот плагин, поэтому ничего конкретно посоветовать Вам не могу. А Вы не пробовали погуглить и поискать информацию в сети? Вбейте название плагина, думаю, что-нибудь найдете по этому поводу.

      Ответить
  66. Дмитрий

    Игорь , спасибо за ответ и про задержку не беспокойтесь Вы в конце концов ничего никому не должны)…
    Игорь, похоже как раз дело в том что вывод коментариев в теме на статических страницах не предусмотрен(
    Возможно как то решить эту проблему ?

    Ответить
    1. Игорь Горнов автор

      Хорошо, Дмитрий. Рекомендации отправил Вам на почту.

      Ответить
  67. Дмитрий

    Доброго Вам времени суток. Игорь помогите пожалуйста разобраться с проблемой . На сайте выводятся коментарии только на главной странице , как можно сделать вывод и на остальных страницах?

    Ответить
    1. Игорь Горнов автор

      Дмитрий, попробуйте пройти в админ панели Вордпресс по пути «Параметры» → «Обсуждение» и в разделе «Настройки статьи по умолчанию» посмотрите, стоит ли галочка напротив опции «Разрешить оставлять комментарии на новые статьи». Если галочки нет, то поставьте и перезагрузите любую страницу записей, комментарии должны появиться.

      Ответить
      1. Дмитрий

        Игорь, большое спасибо что ответили . Но причина другая( там галочка уже стояла)…В конце каждой странице вставлен плагин Contact Form 7 и все коментарии приходят на почту , а на главной странице все коментарии отражаются как положенно… Может нужно заменить плагин или есть другое решение проблемы ( кроме замены самой темы)? Если можете то подскажите пожалуйста. Заранее благодарен Вам за беспокойство. С уважением Дмитрий.

        Ответить
        1. Игорь Горнов автор

          Дмитрий, если это сайт, URL которого Вы проставили при комментарии, то там все в порядке, комментарии отображаются. Или это проблема с другим Вашим ресурсом?

          Ответить
          1. Дмитрий

            Игорь, да разговор идёт об этом сайте , дело в том что коментарии там отражаются только в статьях и видео которые стоят на главной странице, а вот на других страницах например в молитвенных нуждах, нет… как это можно исправить?

          2. Игорь Горнов автор

            Дмитрий, простите за задержку. Чтобы включить комментарии для статической страницы (там, где молитвенные нужды), попробуйте пройти по пути «Страницы» → «Все страницы» в админке Вордпресс. Там подводите курсор к нужной странице, появятся опции для редактирования. Выбираете «Свойства» и ставите галочку напротив опции «Разрешить комментарии». Однако, такой способ подключения будет работать только в том случае, если в Вашей теме вывод комментариев на статических страницах предусмотрен. Попробуйте, в случае неудачи дам последующие рекомендации.

  68. Павел

    Здравствуйте. Не поможете: что нужно удалить в коде, чтобы не отображалось подряд 2 вида комментариев (ваш вариант и стандартный шаблона), т.е. убрать ненужную копию? Заранее спасибо.

    Ответить
    1. Игорь Горнов автор

      Павел, откройте файл comments.php и посмотрите, там должна быть такая строка:

      <?php wp_list_comments(); ?>

      Вы наверное, вставили кусок кода, который я привел в статье, но не удалили прежний? Если у Вас повторяются комментарии, то должна быть и вторая похожая строчка, но уже с массивом:

      <?php wp_list_comments($args); ?>

      Скорее всего, нужно удалить первую строчку без массива. Но действуйте осторожно, если Вы не сильны в языке PHP, лучше перед редактированием сделать копию прежнего файла.

      Ответить
  69. guntis13

    Нееее, мы еще ближе,с Риги я,латыш. а цвет оставил серый f2f2f2 — чтоб не резал глаза а с общим фоном гармонировал………..как впрочем и у вас же тоже похожая тональность с общим фоном…..или у нас опять что то по разному показывает…..

    Ответить
    1. Игорь Горнов автор

      Бог ты мой, как я мог так ошибиться! Ведь подумал же, что из Латвии, а написал, что из Литвы. А что касается цвета, то показывает, уверен, одно и то же, просто у каждого человека свой вкус и цветовые пристрастия. Я подумал, что немного более контрастный оттенок смотрелся бы лучше. Ну, да ладно, главное, чтобы Вам нравилось.

      Ответить
  70. guntis13

    Спасибо Мастер !!!…..почти все как хотел,но и данный результат очень даже красиво выглядит…..больше уже править не буду. Насчет Мастера, не лесть,СНИМАЮ ШЛЯПУ !!! САЙТ В ЗАКЛАДКАХ…..если что обращусь к вам…..очень уж понятно для чайника излагаете !!!

    Ответить
    1. Игорь Горнов автор

      Приятно помочь…Ведь судя по Вашему имени, Вы из Литвы. А я из Эстонии, так что почти земляки на просторах рунета. А цвет в комментариях админа все-таки не поменяли…

      Ответить
  71. guntis13

    Странные вещи происходит…..я вижу на своем сайте серый фон на своих комментариях……посетителям все комментарии кажется белыми…снимают скриншот,показывают мне в чате…..я вижу серый они белый фон…вывих мозга скоро случится. не могли бы вы заглянуть на мой сайт……. что там для вас покажут ???

    Ответить
    1. Игорь Горнов автор

      Guntis, почитайте чуть выше мой комментарий по существу и попробуйте отредактировать по моей инструкции.

      Ответить
  72. guntis13

    хотел как лучше….

    http://s55.radikal.ru/i148/1308/6b/100578e2d197.jpg

    получилось как всега….

    http://s005.radikal.ru/i209/1308/d5/953061ea3637.jpg

    уважаемый Мастер, в чем я не прав???…..хотелось бы чтоб только красивая,округленная рамочка закрашивалась

    Ответить
    1. guntis13

      наверно надо будет удалять,цвета……посетители кричали что не какого цвета на моих комментах не наблюдают…..=(

      Ответить
      1. Игорь Горнов автор

        Да нет, ничего удалять не нужно. Цвет комментариев администратора выделяется, просто это один из оттенков белого и виден лишь под определенным углом. Полагаю, вариант моих комментариев Вас не устроит, Вы хотите, чтобы текст был выделен в отдельную рамку? На всякий случай сначала все-таки дам указания, чтобы было, как у меня. Сначала допишите в файле style.css (строка 1011) такое свойство:

        margin-top:24px;

        Полностью это правило CSS будет выглядеть так:

        .commentlist .children {
        	list-style: none;
        	margin: 0;
        	margin-top:24px;
        }

        Далее, объедините стили (строка 1361):

        .comment-body, .adm_comment-body {
        border: 1px solid #bbb; /* Толщина, стиль и цвет линии границы */
        border-radius: 13px; /* Радиус закругления границы */
        padding: 10px; /* Поля вокруг текста */
        }

        Поменяйте цвет, чтобы выделить получше комментарии админа (цвет я выбрал на свой вкус, если не устроит, откройте страницу поиска Яндекс, вбейте запрос “цвет” и на барабане можете выбрать любой оттенок, после чего скопируйте код и вставьте его в качестве значения свойства bacrground). Строка 1366:

        .adm_comment-body {
        background: #ffffe0;
        }

        Я отправил Вам на e-mail ссылку на картинку, которая представляет вид комментариев после такого редактирования.
        Чтобы отредактировать и оставить все как сейчас у Вас, окрасив только текст в маленькой рамке, мне нужно посмотреть на Ваш файл comments.php темы. Скопируйте и Вышлите ко мне на электронную почту, можно через страницу Контакты. После этого я дам подробные инструкции.

        Ответить
    2. Игорь Горнов автор

      Ну-ну, Вы меня в краску вогнали. Мастер, да еще с большой буквы… 🙂 Скорее у Вас явный талант, просто и легко объяснили, что от меня требуется.

      Ответить
  73. Руслан

    Большое вам спасибо! Очень полезная статья!

    Ответить
  74. Пенькова Наталья

    Игорь, спасибо за участие! У меня была такая ситуация. Граватар был зарегистрирован на один e-mail и там в качестве дополнительного был задан вспомогательный. Собственно, на этот 2-й адрес и был зарегистрирован мой WordPress. Видимо, не главный адрес для граватара не подходит. Просто тогда не понятно, зачем есть такая возможность его задать? Как только поменяла адрес WordPress-а на другой (чего не очень хотелось делать), то все заработало. Но, конечно, хотелось бы, чтобы все получалось в предыдущем режиме.

    Ответить
    1. Игорь Горнов автор

      Наталья, в таком случае Вам необходимо просто либо задать на сервисе нужный e-mail для выбранного граватара, либо поменять адрес электронной почты в админке. Никаких проблем не вижу.

      Ответить
  75. Пенькова Наталья

    Игорь, помогите разобраться с моей проблемкой. Почему в комментариях на моем сайте не отображается мой граватар? На других сайтах — пожалуйста! Чужие граватары на моем сайте — легко…

    Ответить
    1. Игорь Горнов автор

      Наталья, только что посетил Ваш сайт, граватар Ваш на месте, странно… Хотя, может быть, у Вас проблема на другом ресурсе? Ну, а вообще, при подобной проблеме, если на других сайтах Ваш граватар отображается, необходимо войти в административную панель WordPress Вашего сайта и перейти в раздел «Пользователи» → «Администратор». Посмотрите, какой e-mail там указан. Наверняка, где-то допущена ошибка или указан электронный адрес, отличный от того, который Вы вводили при регистрации граватара.

      Ответить
      1. Ольга

        Огромное Спасибо за Ваш такой ответ.Я уже пол года ломала голову почему у меня на втором блоге не отображается мой граватар как админа.Перешерстила всё и всяк и после прочтённых комментов нашла ошибку в своём электронном адресе в админке. Исправила и Вуа..ля…Мой граватар появился.И за статью спасибо. Нужно будет попробовать сделать так и у себя.Беру ваш блог в закладки.

        Ответить
        1. Игорь Горнов автор

          Вот что значит развернутые комментарии, понятные вопросы по существу от читателей и внимательность тех же читателей, которые находят ответы уже в ранее отправленных сообщениях. 🙂

          Ответить
  76. Фёдор

    Игорь, спасибо за участие.

    Ответить
    1. Игорь Горнов автор

      Пожалуйста, Федор. Однако не получил обещанного файла, чтобы разобраться до конца с Вашей проблемой. Вышлите его мне на E-mail.

      Ответить
      1. Людмила Лао

        у меня такая же проблема на сайте. Напрочь отсутствует файл comments.php и что делать не знаю….

        Ответить
        1. Игорь Горнов автор

          Людмила, значит должен быть альтернативный шаблон, в котором прописаны функции отображения комментариев, в том числе в файле function.php

          Ответить
          1. Людмила Лао

            ну да. я тоже устала ковыряться. хоть темка и классная, но без комментариев никуда не годится. Уже установила новую тему.

  77. Фёдор

    Игорь, дело в том, что у меня шаблон сделан в Artisteer и сходу не разберёшься, в папке comments.php такой строчки нет. Я вышлю файл, может Вы в нём разберётесь, если у Вас есть время.

    Ответить
    1. Игорь Горнов автор

      Хорошо, Федор.

      Ответить
  78. Фёдор

    Игорь, спасибо за отает, на самом деле это действительно удобно, просто я не сразу сообразил, что ссылку видно когда ты в админ панели. Тогда не подскажете как убрать слово /говорит/ после имени автора. Спасибо.

    Ответить
    1. Игорь Горнов автор

      Федор, там же в comments.php попробуйте найти такую строку или похожую:

      <?php printf(__('<cite class="fn">%s</cite><span class="says">says:</span>'), get_comment_author_link()) ?>

      И удалите из нее:

      <span class="says">says:</span>
      Ответить
  79. Фёдор

    Игорь, со вторым вопросом я разобрался, а вот с первым пока не получается.

    Ответить
    1. Игорь Горнов автор

      Федор, дело, конечно Ваше, но мне кажется, наличие этой строчки очень удобно для редактирования, не надо в админку заходить, а редактировать прямо на странице с комментариями, тем более, эта ссылка появляется только при входе в админ панель Вордпресс и видна только Вам. Ну, дело Ваше, мне подсказать несложно. Откройте файл comments.php Вашей темы Вордпресс, ближе к концу найдите примерно такую строчку:

      Ее нужно просто удалить.

      Ответить
  80. Фёдор

    Здравствуйте, Игорь. Подскажите пожалуйста как можно убрать из комментов строчку /редактировать, изменить/ после имени. И второе: как изменить имя /admin/ на своё собственное. Спасибо.

    Ответить
  81. Лена

    Спасибо за ответ! с шрифтом разобралась. Сайт, где не могу выставить рамку у меня на локальном компьютере, поэтому не могу никак показать (

    Ответить
    1. Игорь Горнов автор

      Лена, я не смогу Вам помочь, если Вашего ресурса нет в сети, у меня же нет никаких вводных. Как только перейдете на реальный хостинг, обращайтесь.

      Ответить
  82. Вкусняшка

    привет! если есть время, подскажите, как сделать рамку к моим комментам. Еще хотелось бы шрифт увеличить:
    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; то у меня в рамку берется весь сайт и каждый элемент на сайте, и остальное не выходит дописать.
    извините, если написала глупость )) я первый раз в это дело залезла

    Ответить
    1. Игорь Горнов автор

      Для того, чтобы увеличить шрифт, откройте файл style.css, на 15 строке увидите следующие стили:

      body, p
      {
        margin: 0.5em 0;
        font-family: Arial, Helvetica, Sans-Serif;
        font-style: normal;
        font-weight: normal;
        font-size: 12px;
      }

      За величину шрифта отвечает свойство font-size: 12px. Вместо 12px поставьте нужное значение, попробуйте для начала 16px, по-моему, нормально.
      К сожалению, не обнаружил на Вашем сайте ни одного комментария, напишите что-нибудь от себя, например, приветствие, адресованное читателям, мне легче тогда будет помочь выставить рамку.

      Ответить
  83. Анатолий

    Здравствуйте, Игорь. У меня на сайте (WordPress)возникла проблема: посетители оставляют комментарии к одной записи, а при прочтении оказывается, что данный комментарий располагается под другой записью.
    Или под только что опубликованной записью сразу же появляются комментарии, оставленный ранее к какой-либо другой статье.
    Не подскажите, в чем может быть проблема? Какая часть кода в файлах comments.php или functions.php отвечает за правильный вывод комментариев?

    Ответить
    1. Игорь Горнов автор

      Вот код, который выводит комментарии по стандартному шаблону:

      wp_list_comments()

      Но может быть добавлен массив с аргументами ($args), который определяет особенности вывода комментариев для того или иного блога:

      wp_list_comments($args)

      К сожалению, Анатолий, так тяжело сразу определить причину Вашей проблемы, не имея под рукой файлов Вашей темы.

      Ответить
      1. Диана

        Спасибо, буду искать в чем может быть дело. У меня проблема аналогичная проблеме Анатолия.

        Ответить
  84. Слава.

    Не подскажите как убрать «2 Responses to » или изменить заглавие формы комментариев.

    Ответить
    1. Игорь Горнов автор

      Слава, не понял. Я что-то не нашел данную надпись на Вашем сайте. Какое заглавие Вы хотите изменить? Вот это: Your email address will not be published. Required fields are marked *?

      Ответить
      1. Дина

        Игорь, здравствуйте! Пожалуйста, помогите! У меня проблема именно с надписью Your email address will not be published. Required fields are marked *, а еще названия полей все на английском, хотя тему я переводила как положено, создавала файл ru_RU, но эти строчки все равно на англ. Нигде не могу их найти, пыталась искать тотал коммандером, но он ничего не находит. Подскажите, где это исправить? Заранее спасибо. К сожалению блог пока не в сети….

        Ответить
        1. Игорь Горнов автор

          Дина, жаль, что ресурс не в сети. Здесь может быть несколько причин. Подозреваю, что искать надо в файле function.php темы. Скажите, Вы коммандером искали по всем файлам? Если да, то пришлите мне на e-mail скриншоты полного содержания comments.php и function.php, попробую разобраться, хотя ничего не гарантирую.

          Ответить
          1. Дина

            Игорь, большое спасибо, что уделили мне внимание! Проблему решила ))) Оказывается, эти фразы выводились не из файлов темы — там их действительно нет, а из файла comment-template.php, который в папке wp-includes. В общем, я тупо в нем исправила английские надписи на русские. Может и не правильно, но на локалке пашет )))

          2. Игорь Горнов автор

            Дина, сделали-то Вы все правильно и в сети тоже будет работать, но просто файл comment-template.php является составной частью ядра Вордпресс и после каждого его обновления придется эту операцию повторять.

          3. Дина

            Спасибо, буду держать это под контролем 🙂 Слава богу, WP не каждую неделю обновляется, да и пару предложений заменить — не проблема, когда знаешь, где искать 🙂

    2. Lector

      Эта надпись должна быть в файле comments.php

      Ответить
  85. Саня

    Не понял?! Пост уже не новый, а комментов — нет! Непорядок.
    Хочу от себя добавить (может и автора заинтересую) есть плагин для предпросмотра своего комментария (кому интересно — пишите тут, кину ссылку (сейчас не хочу рекламировать чужой, хоть и неплохой ресурс)).
    Очень удобная штука, особенно если пытаешься вставить код или ссылку — сразу видно, что из этого получается. Был грешен сам, оставил коммент (здесь, кстати), думал «умняк слеплю», а получилось… как всегда :).

    Ответить
    1. Игорь Горнов автор

      Спасибо за обновление, Саня. 🙂

      Ответить
      1. Виктор

        +1

        Ответить