Главная - Wordpress: установка & управление - Файлы шаблона WordPress: комментарии
Мой сервер для вашего сайта

Файлы шаблона WordPress: комментарии

Это статья 10 из 18 в серии статей Изучаем файлы шаблона

Всем доброго времени суток и с Рождеством!

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

Следующий блок кода из файла comments.php

<ol> <?php foreach ($comments as $comment) : ?>
<?php if (get_comment_type()==»comment») : ?> <li») echo ‘mycomment’; else echo $oddcomment; ?>» id=»comment-<?php comment_ID() ?>»>
<p style=»margin-bottom:5px; border-bottom:1px #fff dotted; padding-bottom:5px;»>By <strong><?php comment_author_link() ?></strong> on <a href=»#comment-<?php comment_ID() ?>» title=»»><?php comment_date(‘M j, Y’) ?></a> | <a href=»#respond»>Reply</a><?php edit_comment_link(‘Edit’,’ | ‘,»); ?></p> <?php if ($comment->comment_approved == ‘0’) : ?> <em>Your comment is awaiting moderation.</em> <?php endif; ?> <?php comment_text() ?> </li>

Эта часть кода файла служит для вывода комментариев ваших посетителей. Обратите внимание на строку, где есть слова: By (автор), on (на), дата в кавычках (M j, Y) и Edit (изменить). Давайте посмотрим, где это расположено на странице сайта:

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

Чуть ниже в файле идет код вывода трекбеков, нам он неинтересен.

Еще ниже — вот такой код (есть практически в каждом файле comments):

<li id=»comment-<?php comment_ID() ?>»> <?php comment_date(‘M j, Y’) ?>: <?php comment_author_link() ?> <?php if ($comment->comment_approved == ‘0’) : ?> <em>Your comment is awaiting moderation.</em> <?php endif; ?> </li>

Обращаю внимание на два момента:
1. Дата в американском формате — M j, Y. Выглядит как — январь 7, 2011. Замените на — jS F, Y. Станет — 7 января 2011. Если у вас стоит плагин Макса — русские даты, будет именно «января» а не «январь».
Плагин можете скачать по этой ссылке. Его надо только активировать.

2. Фразу —  Your comment is awaiting moderation — замените на — Ваш комментарий ожидает проверки.

Дальше идет несколько строк кода, которые вам не интересны, т.к. касаются цикла вывода комментариев, если их несколько.

<?php if (get_option(‘comment_registration’) && !$user_ID ) : ?>
<p id=»comments-blocked»>You must be <a href=»<?php echo get_option(‘siteurl’); ?>/wp-login.php?redirect_to= <?php the_permalink(); ?>»>logged in</a> to post a comment.</p>
<?php else : ?> <form action=»<?php echo get_option(‘siteurl’); ?>/wp-comments-post.php» method=»post» id=»commentform»>
<h2>Post a Comment</h2>
<?php if ($user_ID) : ?>
<p>You are logged in as <a href=»<?php echo get_option(‘siteurl’); ?>/wp-admin/profile.php»> <?php echo $user_identity; ?></a>. To logout, <a href=»<?php echo get_option(‘siteurl’); ?>/wp-login.php?action=logout» title=»Log out of this account»>click here</a>. </p> <?php else : ?>

В первой части этого кода вы видите слова: You must be… потом — logged in… to post a comment. Переведите примерно так: Вам надо…. войти…. чтобы написать комментарий.

Эта часть кода работает тогда, когда вы настроите в разделе Настройки (Параметры) условия комментирования на странице Обсуждение — «Пользователи должны быть зарегистрированы и авторизованы для комментирования».

Затем в тегах H4 фраза — Post comment — переведите как «Оставить (написать) комментарий».

Фраза: You are logged in as… To logout. Переведите: Вы вошли как… Выйти.

Я думаю, вы знаете, в какой части страницы выводятся эти слова и фразы. В области окна комментариев.

Следующий ниже код касается окна комментариев:

<p><label for=»author»>Name<?php if ($req) _e(‘ (required)’); ?></label> <input type=»text» name=»author» id=»author» value=»<?php echo $comment_author; ?>» size=»22″ tabindex=»1″ /></p>
<p><label for=»email»>E-mail (will not be published)<?php if ($req) _e(‘ (required)’); ?></label> <input type=»text» name=»email» id=»email» value=»<?php echo $comment_author_email; ?>» tabindex=»2″ size=»22″ /></p>
<p><label for=»url»>Website</label> <input type=»text» name=»url» id=»url» value=»<?php echo $comment_author_url; ?>» size=»22″ tabindex=»3″ /></p>

Здесь вам надо перевести:

  • Name — Имя
  • required — обязательно
  • E-mail (will not be published) — Email (не публикуется)
  • required — обязательно
  • Website — Сайт

Устали? Осталось немного.

Последний кусок кода:

/****** Math Comment Spam Protection Plugin ******/
if ( function_exists(‘math_comment_spam_protection’) ) { $mcsp_info = math_comment_spam_protection(); ?> <p><input type=»text» name=»mcspvalue» id=»mcspvalue» value=»» size=»22″ tabindex=»4″ />
<label for=»mcspvalue»><small>Spam protection: Sum of <?php echo $mcsp_info[‘operand1’] . ‘ + ‘ . $mcsp_info[‘operand2’] . ‘ ?’ ?></small></label> <input type=»hidden» name=»mcspinfo» value=»<?php echo $mcsp_info[‘result’]; ?>» /> </p>
<?php }
// if function_exists… ?>
<?php endif; ?> <p><textarea name=»comment» id=»comment» cols=»5″ rows=»10″ tabindex=»4″></textarea></p> <p><input name=»submit» type=»submit» id=»submit» tabindex=»5″ value=»Submit Comment» /> <input type=»hidden» name=»comment_post_ID» value=»<?php echo $id; ?>» /></p>

В начале вы видите сообщение — Math Comment Spam Protection Plugin. Означает, что в шаблоне используется код плагина, который выведет сообщение для защиты от спам-ботов. Вам надо указать сумму из результата чисел. Найдите и активируйте плагин, и тогда эта часть кода будет работать.

В конце фраза — Submit Comment — переведите как — Отправить комментарий.

И в предпоследеней строке фразу — Sorry, comments for this entry are closed at this time  — переведите как — «К сожалению, комментарии к этой записи сейчас закрыты. Будет работать если вы в настройках записи запретили комментарии к ней.

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

Если у вас возникли вопросы — пишите в комментариях.

Или будут советы и пожелания — с удовольствием почитаю.

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


куплю китайский телефон

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

О Олег

Я более шести лет профессионально занимаюсь сайтами на CMS WordPress: перевод на русский тем и плагинов; разработка уникальных тем под заказ; сопровождение сайтов, защита и безопасность, продвижение в поисковых системах. У меня несколько своих проектов, в которых я пишу только о WordPress, продаю свои авторские работы, пишу платные и бесплатные видео-уроки. В свободное время люблю ездить на рыбалку. И еще - хочу завести собаку.

9 комментарии

  1. Я обновил на вордпресс 3.9,когда работаю с файл comments.php но не получился. Скажите мне пожалуйста,как я могу делать?

    • Не получилось что? То, что он на английском?
      Файл ни при чем.
      В вашей теме автор использует зашитый код в файле comments-template.php, который лежит в папке wp-include.
      Найдите его и там попробуйте исправить на русский этот кусок кода.

  2. Спасибо. Пригодилось для моего блога

  3. мне непонятна процедура форматирования выводимого текста. В моем шаблоне теги форматирования ( и т.д.) не работают.

    • Значит, ваш шаблон не поддерживает эту возможность. Если хотите, чтобы поддерживал, поставьте плагин-расширение для окна ввода комментария, или ищите другой шаблон.

  4. Я совсем новичек, извиняюсь, если вопрос прозвучит глупо. Интересует конкретно код окна комментариев: я просто заменяю англ. Name на Имя (без знаков )и сохраняю результат?

  5. Стандартным кодом Вордпресс вряд ли, т.е. это встроенный функционал ВП, скорее — надо искать плагины, которые модернизируют сообщения при отправке комментариев.

  6. Добрый день, если можете подскажите как сделать что бы сообщение — Ошибка: пожалуйста, заполните необходимые поля (имя, e-mail). — появлялось не в новом окне а под формой ввода комментария?
    Спасибо 🙂

Оставить комментарий

Ваш email нигде не будет показанОбязательные для заполнения поля помечены *

*