Скин для WP своими руками (comments.php)

Пришел черед разобрать файл comments.php – врезку комментариев нашего блога.

<?php // Не модифицируйте этот кусок кода
if (‘comments.php’ == basename($_SERVER[‘SCRIPT_FILENAME’]))
die (‘Не загружайте эту страницу напрямую, пожалуйста. Спасибо!’);
if (!empty($post->post_password)) { // если установлен пароль на комментарии
if ($_COOKIE[‘wp-postpass_’ . COOKIEHASH] != $post->post_password) {  // и его нет в файле cookie ?>
<p><?php _e(“Это сообщение защищено паролем. Введите пароль для просмотра комментариев.”); ?><p>
<?php
return;
}
}

/* Эта переменная используется для изменения фона комментариев*/
$oddcomment = ‘alt’;
?>

<!– А вот отсюда можете редактировать, как хотите… –>

<?php if ($comments) : ?> <!– Считаем комментарии… –>
<h3><?php comments_number(‘Ответов нет’, ‘Один ответ’, ‘% ответа’ );?> на &#8220;<?php the_title(); ?>&#8221;</h3>

<ol>

<?php foreach ($comments as $comment) : ?>

<li class=”<?php echo $oddcomment; ?>” id=”comment-<?php comment_ID() ?>”>
<cite><?php comment_author_link() ?></cite> сказал(а):
<?php if ($comment->comment_approved == ‘0’) : ?>
<em>Ваш ответ ожидает премодерации.</em> <!– Сообщение о добавлении комментария на премодерацию… –>
<?php endif; ?>
<br />

<small><a href=”#comment-<?php comment_ID() ?>” title=””><?php comment_date(‘F jS, Y’) ?> в <?php comment_time() ?></a> <?php edit_comment_link(‘e’,”,”); ?></small>

<?php comment_text() ?>

</li>

<?php /* Изменяет каждый последующий комментарий, как отдельный класс */
if (‘alt’ == $oddcomment) $oddcomment = ”;
else $oddcomment = ‘alt’;
?>

<?php endforeach; /* завершение каждого комментария */ ?>

</ol>

<?php else : // Это отображается, если комментариев пока нет ?>

<?php if (‘open’ == $post-> comment_status) : ?>
<!– Коммментарии разрешены, но пока их нет. –>

<?php else : // comments are closed ?>
<!– Комментарии закрыты. –>
<p>Комментарии закрыты.</p>

<?php endif; ?>
<?php endif; ?>

<?php if (‘open’ == $post-> comment_status) : ?><!– Форма добавления комментария… –>

<h3>Оставить ответ</h3>

<?php if ( get_option(‘comment_registration’) && !$user_ID ) : ?>
<p>Вы должны быть <a href=”<?php echo get_option(‘siteurl’); ?>/wp-login.php?redirect_to=<?php the_permalink(); ?>”>зарегистрированы</a> для добавления коментариев.</p>
<?php else : ?>

<form action=”<?php echo get_option(‘siteurl’); ?>/wp-comments-post.php” method=”post” id=”commentform”>

<?php if ( $user_ID ) : ?>

<p>Пользователь <a href=”<?php echo get_option(‘siteurl’); ?>/wp-admin/profile.php”><?php echo $user_identity; ?></a>. <a href=”<?php echo get_option(‘siteurl’); ?>/wp-login.php?action=logout” title=”<?php _e(‘Log out of this account’) ?>”>Выйти &raquo;</a></p>

<?php else : ?>

<p><input type=”text” name=”author” id=”author” value=”<?php echo $comment_author; ?>” size=”22″ tabindex=”1″ />
<label for=”author”><small>Имя <?php if ($req) _e(‘(обязательно)’); ?></small></label></p>

<p><input type=”text” name=”email” id=”email” value=”<?php echo $comment_author_email; ?>” size=”22″ tabindex=”2″ />
<label for=”email”><small>e-mail (опубликовано не будет) <?php if ($req) _e(‘(обязательно)’); ?></small></label></p>

<p><input type=”text” name=”url” id=”url” value=”<?php echo $comment_author_url; ?>” size=”22″ tabindex=”3″ />
<label for=”url”><small>web-сайт</small></label></p>

<?php endif; ?>

<p><small><strong>XHTML:</strong> Вы можете использовать эти теги: <?php echo allowed_tags(); ?></small></p>

<p><textarea name=”comment” id=”comment” cols=”60%” rows=”10″ tabindex=”4″></textarea></p>

<p><input name=”submit” type=”submit” id=”submit” tabindex=”5″ value=”Прокомментировать” />
<input type=”hidden” name=”comment_post_ID” value=”<?php echo $id; ?>” />
</p>
<?php do_action(‘comment_form’, $post->ID); ?>

</form>

<?php endif; // Если необходима регистрация и вход не выполнен ?>

<?php endif; ?>

Ну, вот, пожалуй и всё на сегодня. Напомню, что нам с Вами осталось рассмотреть из крупных файлов кода – comments-popup.php и search.php, остальное я сведу в одно занятие. Удачи в экспериментах.

4 комментария

  1. avatar

    Дмитрий

    Весь вечер потратил на поиск хорошей и – главное – рабочей и понятной формы комментариев для Вордпресс. Ваша работает и в ней абсолютно каждая строка понятна! Благодарю за статью! 💡