Привет всем, кто читает мой блог. Хочу вам рассказать из жизненного опыта, как лучше выводить или создавать комментарий в существующей теме шаблона WordPress.
Теперь немного истории. Садитесь по удобней.
Я создаю шаблоны для CMS WordPress. Всегда выводил комментарий обычным мне методом, потому что это было быстро и без лишних файлов. Достаточно было поставить в файле шаблона single.php и page.php вот такой код:
<?php comments_template(); ?>
комментарии выводились без проблем. Но тут я увидел в таком методе вывода комментариев маленький косяк, который вывел меня из равновесия и чувства удовлетворенности .
Это фраза в комментариях:
6 комментариев на «“Как изменить интерьер квартиры без перестановок”».
Как убрать никому не нужные лишние кавычки («“ ….. ”»)?
Убираются эти лишние кавычки («“ ….. ”») обычным, легким методом, о котором я сейчас вам и расскажу.
Как убрать лишние кавычки в комментариях?
Если в теме WordPress нет файла «comments.php», тогда перетащите готовый файл «comments.php» с папки «theme-compat» и перекиньте в шаблон темы.
Путь к файлу «comments.php»: /wp-includes/theme-compat/ comments.php.
Путь к вашей теме шаблона: /wp-content/themes/папка с темой шаблона.
Теперь в теме шаблона появился файл "comments.php", в котором можно делать исправление, редактирование формы и вывода комментариев.
Исправляем ошибку.
найдите в коде строку 27, вот такой код:
<h3 id="comments"><?php printf( _n( 'One Response to %2$s', '%1$s Responses to %2$s', get_comments_number() ), number_format_i18n( get_comments_number() ), '“' . get_the_title() . '”' ); ?></h3>
Уберите с кода вот этих два символа:
“
Вуаля, кавычки исчезли.
Казалось бы - все, но нет, нашелся еще один косяк, это вывод в комментариях двоеточий – «:». После пару ударов головой об клавиатуру, я понял, что таким методом проблема не решится. Я принялся за поиск решений проблем.
Для решения этой проблемы откройте файл «functions.php» и допишите такой код:
/*комментарий*/ function mytheme_comment($comment, $args, $depth) { $GLOBALS['comment'] = $comment; extract($args, EXTR_SKIP); if ( 'div' == $args['style'] ) { $tag = 'div'; $add_below = 'comment'; } else { $tag = 'li'; $add_below = 'div-comment'; } ?> <<?php echo $tag ?> <?php comment_class(empty( $args['has_children'] ) ? '' : 'parent') ?> id="comment-<?php comment_ID() ?>"> <?php if ( 'div' != $args['style'] ) : ?> <div id="div-comment-<?php comment_ID() ?>" class="comment-body"> <?php endif; ?> <div class="comment-author vcard"> <?php if ($args['avatar_size'] != 0) echo get_avatar( $comment, $args['avatar_size'] ); ?> <?php printf(__('<cite class="fn">%s</cite> <span class="says">says:</span>'), get_comment_author_link()) ?> </div> <?php if ($comment->comment_approved == '0') : ?> <em class="comment-awaiting-moderation"><?php _e('Your comment is awaiting moderation.') ?></em> <br /> <?php endif; ?> <div class="comment-meta commentmetadata"><a href="<?php echo htmlspecialchars( get_comment_link( $comment->comment_ID ) ) ?>"> <?php /* translators: 1: date, 2: time */ printf( __('%1$s at %2$s'), get_comment_date(), get_comment_time()) ?></a><?php edit_comment_link(__('(Edit)'),' ','' ); ?> </div> <?php comment_text() ?> <div class="reply"> <?php comment_reply_link(array_merge( $args, array('add_below' => $add_below, 'depth' => $depth, 'max_depth' => $args['max_depth']))) ?> </div> <?php if ( 'div' != $args['style'] ) : ?> </div> <?php endif; ?> <?php }
Удалите с кода:
<span class="says">says:</span>
Теперь откройте файл "comments.php" и найдите этот код:
<ol class="commentlist"> <?php wp_list_comments();?> </ol>
замените его на этот:
<ol> <?php wp_list_comments('ENGINE=comment&callback=mytheme_comment');?> </ol>
Вот и решена еще одна проблема.
Как увеличить размер аватара?
Раз уж мы установили этот код в файл «functions.php», тогда давайте еще выжмем с него одну возможность. Возможность указать параметры увеличения и уменьшения размера аватара в комментариях.
Найдите в коде такие строчки:
<div class="comment-author vcard"> <?php if ($args['avatar_size'] != 0) echo get_avatar( $comment, $args['avatar_size'] ); ?> <?php printf(__('<cite class="fn">%s</cite> <span class="says">says:</span>'), get_comment_author_link()) ?> </div>
и в строчке
<?php if ($args['avatar_size'] != 0) echo get_avatar( $comment, $args['avatar_size'] ); ?>
добавьте размер аватара 'avatar_size=80'.
<?php if ($args['avatar_size'] != 0) echo get_avatar( $comment, $args['avatar_size=80'] ); ?>
Естественно, я взял размер «80» только для примера, вы можете с размером смело экспериментировать.
Надеюсь, я вас не запутал. Даже если и запутал, всегда есть комментарий в конце поста, где вы можете задать мне вопрос .
Как увеличить размер аватара обычным способом?
Если вы не делали всех действий, что я расписал вверху, и вас все устраивает, тогда сделайте такие действия:
Откройте файл «comments.php».
Найдите в коде список комментариев, который выводится функцией
<?php wp_list_comments();?>
К этой функции укажите число размера аватара.
wp_list_comments('avatar_size=80');
Вот и все. Если что не понятно, то вы знаете, где поле ввода комментариев. Если не знаете, то оно находится у меня снизу, в конце сайта. Задавайте вопросы, постараюсь ответить.
Понравился пост? Помоги другим узнать об этой статье, кликни на кнопку социальных сетей ↓↓↓
Последние новости категории:
Похожие статьи
Популярные статьи:
-
Как узнать id компьютера
Дата: 29 марта 2013
Прокомментировано:90
просмотров: 330379 -
Размеры форматов листов А0 – А7
Дата: 23 января 2013
Прокомментировано:3
просмотров: 274712 -
Смешные логические загадки с подвохом, отгадки прилагаются
Дата: 12 ноября 2014
Прокомментировано:5
просмотров: 222617 -
Готовые макеты блоков для веб-страниц на HTML и CSS
Дата: 25 июня 2014
Прокомментировано:23
просмотров: 187978 -
Установка windows 7 на ноутбук
Дата: 18 декабря 2012
Прокомментировано:169
просмотров: 186569
20 Ответов на комментарий - Как лучше выводить комментарии в шаблоне WordPress?
Добавить комментарий
Метки: wordpress, без плагинов, комментарий
Спасибо. пригодилось для моего блога
Пожалуйста
C некоторых пор на сайте в браузере выводятся битые аватары анонимных комментаторов, в админке отображаются правильно. В чем причина не подскажите?
К сожалению, Александр, я не знаю в чем причина, не сталкивался с таким. Мне очень интересно будет узнать, как вы решили эту проблему.
Проблема решена. Пришлось изменить код в файле functions.php отвечающий за вывод аватара по умолчанию (43 строка).
Было –
стало –
К вам на блог я попал в поиске решения этой проблемы и видел что эта проблема стоит у многих.Кому то может пригодиться
Спасибо за комментарий!
Спасибо, пригодилось. У меня тоже для анонимных комментаторов выводился пустой аватар. Я вставил такой код в файл comments.php:
Размер аватара у меня в стилях указан, поэтому конкретная цифра не понадобилась.
Спасибо, Юрий, за полезный комментарий!
Приветствую Степан. Что то у меня никак не получается убрать это :: <?php printf(__('%s says:’), get_comment_author_link()) ?>
Всё делаю как ты описал, но после изменения данного кода на этот
то у меня просто не показываются комменты. Вот так выглядит у меня код в файле
Здравствуйте, Сергей! Напишите ваш код меду тегами , что бы я мог посмотреть! Сергей, Вы говорите, что все сделали как я написал, откуда тогда вы взяли этот код:
?????????????
Спасибо, весьма интересная статья
Здравствуйте! Как с этой строки вырезать вообще упоминание о title так чтоб осталось только (число) комментариев.
Здравствуйте, Женя! Попробуйте удалить вот этот кусок кода “. get_the_title()” Он как раз отвечает за вывод title
Степан, я об этом конечно же догадался! Но удаляя этот код и ковычки возникает ошибка! Видимо где нужно убрать лишнюю скобку. Я в синтаксисе не силен, поэтому методом перебора пробовал разные варианты, но все равно выдавало ошибку!
Женя, все работает. Даю готовый код:
Женя, если Вам нужно вывести число комментариев, почему бы не воспользоваться вот такой функцией:
Если интересно, можете почитать тут.
You have a beautiful site
Thank!
Спасибо
aleksandr, мне очень помог ваш комментарий. Спасибо!
Спасибо чувак! Все апупенно помогло. Меня аж вштырило!