Free hosting: www.2x4.ru
DDOS protection
Close
 Web-стиль: Аниме » Blog Archive » Создание темы для WordPress с нуля. Часть 5

Создание темы для WordPress с нуля. Часть 5

comments.php

Настало время разрешить нашим пользователям разговаривать – дать им свободу слова через форму комментирования. Но сперва разрешим им почитать, что уже сказали другие. Осуществим вывод комментариев.

Сначала проверим, а не защитил ли автор запись паролем?

1
2
3
4
5
6
7
8
9
<?php
if (!empty($post->post_password)) { // if there's a password
if ($_COOKIE['wp-postpass_' . COOKIEHASH] != $post->post_password) { // and it doesn't match the cookie
?>
<p class="nocomments">Эта запись защищена паролем. Введите его, чтобы продолжить.</p>
<?php
return;
}
?>

А теперь можно и выводить комментарии. Если, конечно, они у Вас есть!

1
2
3
4
5
6
7
8
9
<?php if ($comments) : ?>
<h3 id="comments">Комментарии к записи <?php the_title('', '', false)); ?></h3>
 
<ol class=»commentlist»>
Выводим комментарии здесь
</ol>
<?php else: ?>
Здесь что-нибудь..
<?php endif; ?>

Для вывода комментариев можем использовать следующие функции:

  • comment_ID – Выводит уникальный идентификатор комментария.
  • comment_author – Выводит автора комментария (Никнейм).
  • get_avatar – Выводит аватар автора.
  • comment_author_IP – Выводит ип-адрес комментария. (Внимание! Дурной тон сдавать всем личные данные Ваших комментаторов)
  • comment_author_email -Выводит почту автора.(Внимание! Дурной тон сдавать всем личные данные Ваших комментаторов)
  • comment_author_email_link – Выводит имя автора ссылкой на его почту (mailto).(Внимание! Дурной тон сдавать всем личные данные Ваших комментаторов)
  • comment_author_url – Выводит УРЛ сайта автора.
  • comment_author_url_link – Выводит УРЛ автора ссылкой на этот самый УРЛ.
  • comment_author_link – Выводит имя автора ссылкой на его сайт.
  • comments_number – Выводит текущий номер комментария по порядку.
  • comment_text – Собственно, текст комментария
  • comment_date – Дата.
  • comment_time – Время.

Строим блок комментария и помещаем его в цикл – все элементарно.

1
2
3
4
5
6
<?php foreach ($comments as $comment) : ?>
<li id="comment-<?php comment_ID() ?>">
Автор: <?php comment_author_link(); ?> (<?php comment_date(); ?> в <?php comment_time(); ?>) [ <?php comment_author_IP(); ?>]<br /><?php echo get_avatar($comment, 32); ?><hr />
<?php comment_text(); ?>
</li>
<?php endforeach; ?>

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<?php if ('open' == $post-> comment_status) : // Проверка на то, что комментирование разрешено ?>
 
<h3 id="respond">Ответить</h3>
 
<?php if ( get_option(’comment_registration’) && !$user_ID ) : // Если комментирование разрешено только зарегистрированным пользователям ?>
 
<p>Вы должны быть <a href="<?php echo get_option(’siteurl’); ?>/wp-login.php?redirect_to=<?php echo urlencode(get_permalink()); ?>">авторизованы</a>, чтобы комментировать.</p>
<?php else : ?>
 
<form action="<?php echo get_option(’siteurl’); ?>/wp-comments-post.php" method="post" id="commentform">
 
<?php if ( $user_ID ) : // Если комментатор уже авторизован, то зачем спрашивать его имя, e-mail и сайт?? ?>
 
<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="Log out of this account">Выйти "</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(’(required)’); ?></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(’(required)’); ?></small></label></p>
 
<p><input type="text" name="ur" id="url" value="<?php echo $comment_author_url; ?/>" size="22″ tabindex="3″ />
<label for="url"><small>Сайт</small></label></p>
 
<?php endif; ?>
< !– Теперь выводим текст-ареа и кнопочку для всех–>
<p><textarea name="comment" id="comment" cols="100%" rows="10″ tabindex="4″></textarea></p>
 
<p><input name="submit" type="submit" id="submit" tabindex="5″ size="22″ value="ОК" />
<input type="hidden" name="comment_post_ID" value="<?php echo $id; ?/>" />
</p>
<?php do_action(’comment_form’, $post->ID); ?>
</form>

Теперь наш блог заслуженно может зваться “Глас народа” и собирать толпы комментаторов и спамеров)).

Ну и под конец можно сказать, что


Урок создан: Январь 19th, 2010   Просмотров: 262   Комментарии RSS 2.0

Похожие посты

Написать

Вы должны войти для того, чтобы оставить комментарий.