- Изучаем файлы шаблона WordPress
- Изучаем файлы шаблона WordPress
- Файл header.php
- Файл header.php — продолжение
- Файл header.php — окончание
- Изучаем файлы шаблона: index.php
- Продолжаем изучать index.php
- Файлы шаблона WordPress: sidebar.php
- Изучаем файлы шаблона: правый сайдбар
- Продолжаем изучать файлы шаблона WordPress
- Файлы шаблона WordPress: комментарии
- Как сделать новый сайдбар с поддержкой виджетов
- Файлы шаблона WordPress: окончание
- Серия статей — изучаем файлы шаблона — в одном PDF файле
- Варианты одиночной страницы single.php
- Как отлючить HTML теги в комментариях
- Как создать дочернюю тему
- WordPress для начинающих: ставим Логотип-картинку
Всем доброго времени суток и с Рождеством!
Сегодня я продолжу рассказ о файле 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 я закончил. Надеюсь, кому то из вас мой рассказ окажется полезной информацией и поможет немного разобраться в коде этого файла.
Если у вас возникли вопросы — пишите в комментариях.
Или будут советы и пожелания — с удовольствием почитаю.
Если хотите следить за новыми публикациями — подпишитесь, ссылка на подписку есть вверху сайдбара.
Я обновил на вордпресс 3.9,когда работаю с файл comments.php но не получился. Скажите мне пожалуйста,как я могу делать?
Не получилось что? То, что он на английском?
Файл ни при чем.
В вашей теме автор использует зашитый код в файле comments-template.php, который лежит в папке wp-include.
Найдите его и там попробуйте исправить на русский этот кусок кода.
Спасибо. Пригодилось для моего блога
мне непонятна процедура форматирования выводимого текста. В моем шаблоне теги форматирования ( и т.д.) не работают.
Значит, ваш шаблон не поддерживает эту возможность. Если хотите, чтобы поддерживал, поставьте плагин-расширение для окна ввода комментария, или ищите другой шаблон.
Я совсем новичек, извиняюсь, если вопрос прозвучит глупо. Интересует конкретно код окна комментариев: я просто заменяю англ. Name на Имя (без знаков )и сохраняю результат?
Да, правильно.
Стандартным кодом Вордпресс вряд ли, т.е. это встроенный функционал ВП, скорее — надо искать плагины, которые модернизируют сообщения при отправке комментариев.
Добрый день, если можете подскажите как сделать что бы сообщение — Ошибка: пожалуйста, заполните необходимые поля (имя, e-mail). — появлялось не в новом окне а под формой ввода комментария?
Спасибо 🙂