В четвертой части серии мы рассмотрели третий пакет тегов шаблонов WordPress. В этой пятой части мы рассмотрим четвертый пакет из почти 200 тегов-шаблонов. В этом уроке мы снова увидим теги шаблонов для комментариев, как и в предыдущем пакете.
Получение и отображение ссылки на раздел «Комментарии»: get_comments_link() & comments_link()
Эти теги шаблона возвращают и отображают ссылку на раздел «Комментарии».
параметры
comments_link() не принимает никаких параметров, но get_comments_link() принимает один:
-
$post_ID(необязательно — целое число или объект) :
Идентификатор поста.
(По умолчанию: текущий пост)
использование
|
1
2
3
4
5
|
<?php
comments_link();
?>
|
Получение и отображение списка комментариев: wp_list_comments()
Этот популярный тег шаблона содержит комментарии, добавленные к сообщению.
параметры
Этот тег шаблона принимает два параметра:
-
$args(необязательно — массив) :
Массив следующих аргументов:-
'walker'(объект): экземпляр класса Walker для отображения комментариев.
(По умолчанию:NULL) -
'max_depth'(целое число): максимальная глубина комментариев.
(По умолчанию: пусто) -
'style'(string): стиль упорядочения списка (ul или ol).
(По умолчанию: ‘ul’) -
'callback'(строка): функция обратного вызова для использования.
(По умолчанию:NULL) -
'end-callback'(строка): функция обратного вызова для использования в конце.
(По умолчанию:NULL) -
'type'(строка): тип комментариев к списку («all», «comment», «pingback», «trackback» или «pings»).
(По умолчанию: «все») -
'page'(целое число): Идентификатор страницы для списка комментариев.
(По умолчанию: пусто) -
'per_page'(целое число): количество комментариев к списку на странице.
(По умолчанию: пусто) -
'avatar_size'(целое число): размеры изображений аватара.
(По умолчанию: 32) -
'reverse_top_level'(строка): порядок перечисленных комментариев («desc» или «asc»).
(По умолчанию:NULL) -
'reverse_children'(логическое значение): отменить ли дочерние комментарии в списке.
(По умолчанию: пусто) -
'format'(строка): как отформатировать список комментариев.
По умолчанию: «html5», если тема поддерживает разметку HTML5, иначе «xhtml») -
'short_ping'(логическое значение): выводить ли короткие пинги.
По умолчанию:FALSE -
'echo'(логическое): выводить ли вывод (TRUE) или возвращать (FALSE).
(По умолчанию:TRUE)
-
-
$comments(необязательно — массив) :
Массив объектов комментариев.
(По умолчанию: все комментарии к текущему сообщению)
использование
|
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
<?php
$args = array(
// Use an ordered list for comments.
‘style’ => ‘ol’,
// Get comments only.
‘type’ => ‘comments’,
// Custom number of comments per page.
‘per_page’ => 15,
// Reduce avatar size.
‘avatar_size’ => 16,
// Force use HTML5 markup.
‘format’ => ‘html5’,
// Return the output instead of echoing.
‘echo’ => 0
);
$comments_list = wp_list_comments( $args );
?>
|
Получение и отображение количества комментариев: get_comments_number() & comments_number()
Эти теги шаблона получают и отображают, сколько комментариев опубликовано в записи.
параметры
get_comments_number() принимает только один параметр:
-
$post_ID(необязательно — целое число или объект) :
Идентификатор поста.
(По умолчанию: текущий пост)
И comments_number() принимает три параметра:
-
$zero(необязательно — строка) :
Текст для отображения, если нет комментариев.
(По умолчанию: «Нет комментариев») -
$one(необязательно — строка) :
Текст для отображения, если есть только один комментарий.
По умолчанию: «1 комментарий» -
$more(необязательно — строка) :
Текст для отображения, если есть более одного комментария.
(По умолчанию: «% комментариев»)
использование
|
1
2
3
4
5
6
7
8
9
|
<?php
// Display the number of comments of a specific post.
comments_number( 11 );
// Display the number of comments of the current post.
$comments_num = get_comments_number( ‘0’, ‘1’, ‘%’ );
?>
|
Получение и отображение автоматических классов для каждого комментария: get_comment_class() & comment_class()
Эти теги шаблонов позволяют добавлять сгенерированные семантические классы в любое место цикла комментариев.
параметры
get_comment_class() принимает три параметра:
-
$class(необязательно — строка или массив) :
Дополнительные имена классов для добавления.
(По умолчанию: пусто) -
$comment_ID(необязательно — целое число) :
Идентификатор комментария для работы.
(По умолчанию: идентификатор текущего комментария) -
$post_ID(необязательно — целое число или объект) :
Идентификатор поста.
(По умолчанию: текущий пост)
И comment_class() принимает четыре параметра:
-
$class(необязательно — строка или массив) :
Дополнительные имена классов для добавления.
(По умолчанию: пусто) -
$comment_ID(необязательно — целое число) :
Идентификатор комментария для работы.
(По умолчанию: идентификатор текущего комментария) -
$post_ID(необязательно — целое число или объект) :
Идентификатор поста.
(По умолчанию: текущий пост) -
$echo(необязательно — логическое) :
Будь эхо (TRUE) или вернуть (FALSE) тег.
(По умолчанию:TRUE)
использование
|
1
2
3
4
5
6
7
8
9
|
<?php
// Display comment classes with an extra class.
comment_class( ‘mytheme-comment’ );
// Return a specific comment from a specific post.
$special_comment_classes = get_comment_class( », 225, 98 );
?>
|
Отображение формы комментария: comment_form()
Этот шаблон тега отображает всю форму комментария.
параметры
Этот тег шаблона принимает два параметра:
-
$args(необязательно — массив) :
Массив следующих аргументов:-
'fields'(массив): ассоциативный массив полей комментариев по умолчанию ‘HTML-коды (‘ author ‘,’ email ‘и’ url ‘).
(По умолчанию: все три из них) -
'comment_field'(строка): HTML-код для элемента комментарияTEXTAREA. -
'must_log_in'(строка): HTML-код для сообщения «необходимо войти, чтобы комментировать». -
'logged_in_as'(строка): HTML-код для сообщения'logged_in_as'как …». (Используйте%1$sдля URL профиля,%2$sдля имени пользователя и%3$sдля URL выхода.) -
'comment_notes_before'(строка): HTML-код для заметок, отображаемых перед формой комментария. -
'comment_notes_after'(строка): HTML-код для заметок, отображаемых после формы комментария. -
'id_form'(строка): идентификатор элемента формы комментария. -
'id_submit'(строка): идентификатор кнопки отправки. -
'name_submit'(строка): параметрNAMEкнопки отправки. -
'title_reply'(строка): метка для кнопки «Оставить комментарий». -
'title_reply_to'(строка): метка для кнопки «Оставить ответ% s». -
'cancel_reply_link'(строка): текст ссылки «Отменить ответ». -
'label_submit'(строка): метка для кнопки «Оставить комментарий». -
'format'(строка): формат формы комментария («xhtml» или «html5», по умолчанию «xhtml»).
-
-
$post_ID(необязательно — целое число или объект) :
Идентификатор поста.
(По умолчанию: текущий пост)
использование
|
01
02
03
04
05
06
07
08
09
10
11
12
|
<?php
$args = array(
‘fields’ => array( ‘author’, ’email’ ),
‘must_log_in’ => __( ‘You have to be a logged-in user to be able to comment.’, ‘translation-domain’ ),
‘label_submit’ => __( ‘Shoot It’, ‘translation-domain’ ),
‘format’ => ‘html5’
);
comment_form( $args );
?>
|
Отображение заголовка для формы комментария: comment_form_title()
Этот тег шаблона повторяет динамический заголовок для формы комментария.
параметры
Этот шаблон тега принимает три параметра:
-
$noreplytext(необязательно — строка) :
Текст ссылки, если это не ссылка «Ответить на комментарий».
По умолчанию: «Оставить комментарий» -
$replytext(необязательно — строка) :
Текст ссылки, если это ссылка «Ответить на комментарий».
По умолчанию: «Оставить комментарий к% s» -
$linktoparent(необязательно — логическое значение) :
Связать ли имя комментатора с его / ее комментарием или нет.
(По умолчанию:TRUE)
использование
|
1
2
3
4
5
|
<?php
comment_form_title( __( ‘Shoot a Reply’, ‘translation-domain’ ), __( ‘Talk Back to’, ‘translation-domain’) . ‘ %s’, false );
?>
|
Получение и отображение ссылки «Ответить на комментарий»: get_comment_reply_link() & comment_reply_link()
Эти теги шаблона позволяют вам возвращать или отображать ссылку для ответа на данный комментарий.
параметры
Оба тега шаблона принимают три параметра:
-
$args(необязательно — массив) :
Массив следующих аргументов:-
'add_below'(строка): первая часть селектора, используемая для идентификации комментария, который нужно ответить ниже. Полученное значение передается в качестве первого параметра addComment.moveForm (), объединяемого как $ add_below- $ comment-> comment_ID.
(По умолчанию: «комментарий») -
'respond_id'(строка): селектор, идентифицирующий отвечающий комментарий. Передается в качестве третьего параметра в addComment.moveForm () и добавляется к URL-адресу ссылки в качестве значения хеш-функции.
(По умолчанию: «ответить») -
'reply_text'(строка): текст ссылки «Ответить».
По умолчанию: «Ответить» -
'login_text'(string): текст ссылки для ответа в случае выхода из системы.
По умолчанию: «Войти в ответ» -
'depth'(целое число): глубина нового комментария — должна быть больше 0 и меньше значения параметра thread_comments_depth, установленного в меню «Настройки»> «Обсуждение» .
(По умолчанию: 0) -
'before'(строка): HTML-код, добавляемый перед выводом.
(По умолчанию: пусто) -
'after'(строка): HTML-код, добавляемый после вывода.
(По умолчанию: пусто)
-
-
$comment_ID(необязательно — целое число) :
Идентификатор комментария для работы.
(По умолчанию: идентификатор текущего комментария) -
$post_ID(необязательно — целое число или объект) :
Идентификатор поста.
(По умолчанию: текущий пост)
использование
|
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
|
<?php
// Display the link with default configuration.
comment_reply_link();
// Get the link with some customization.
$args = array(
‘reply_text’ => __( ‘Shout Back’, ‘translation-domain’ ),
‘login_text’ => __( ‘Log in to Shout Back’, ‘translation-domain’ ),
‘after’ => ‘<hr class=»comment-reply-after» />’
);
$comment_reply_link = get_comment_reply_link( $args );
?>
|
Получение и отображение скрытых полей формы «Ответить на комментарий»: get_comment_id_fields() & comment_id_fields()
Эти теги шаблона повторяют или возвращают скрытые и обязательные поля input ссылки «Ответить на комментарий».
параметры
Оба тега шаблона принимают только один параметр:
-
$post_ID(необязательно — целое число) :
Идентификатор поста.
(По умолчанию: идентификатор текущей записи)
использование
|
01
02
03
04
05
06
07
08
09
10
|
<?php
// Display the hidden fields.
comment_id_fields();
// Get the hidden fields of a custom post’s «reply to comment» form.
$some_post_ID = get_the_ID_of_some_post( ‘this-is-not-a-real-function-BTW’ );
$reply_hidden_fields = get_comment_id_fields( $some_post_ID );
?>
|
Получение и отображение ссылки «Отменить ответ»: get_cancel_comment_reply_link() & cancel_comment_reply_link()
Эти теги шаблона возвращают или отображают ссылку «Отменить ответ» для использования с формой ответа на комментарий.
параметры
Оба тега шаблона принимают только один параметр:
-
$text(необязательно — строка) :
Текст для отображения в виде ссылки «отменить ответ».
По умолчанию: «Нажмите здесь, чтобы отменить ответ.»
использование
|
1
2
3
4
5
6
7
8
9
|
<?php
// Display the link.
cancel_comment_reply_link();
// Retrieve the link.
$cancel_reply_link = get_cancel_comment_reply_link( __( ‘Meh…’, ‘translation-domain’ ) );
?>
|
Получение и отображение ссылки для «следующих комментариев»: get_next_comments_link() & next_comments_link()
Эти теги шаблона возвращают или распечатывают ссылку «следующие комментарии» в разделе «Комментарии» вашей темы.
параметры
Оба тега шаблона принимают два параметра:
-
$label(необязательно — строка) :
Текст для отображения по ссылке.
(По умолчанию: «Новые комментарии») -
$max_page(необязательно — целое число) :
Максимальный номер страницы.
(По умолчанию: 0)
использование
|
1
2
3
4
5
6
7
8
9
|
<?php
// Get the «next comments» link with default values.
$next_comments_link = get_next_comments_link();
// Display the «next comments» link with a different label.
next_comments_link( __( ‘Next’, ‘translation-domain’ ) );
?>
|
Получение и отображение ссылки для «Предыдущих комментариев»: get_previous_comments_link() & previous_comments_link()
Эти теги шаблона возвращают или распечатывают ссылку «предыдущие комментарии» в разделе «Комментарии» вашей темы.
параметры
Оба тега шаблона принимают только один параметр:
-
$label(необязательно — строка) :
Текст для отображения по ссылке.
По умолчанию: «Старые комментарии»
использование
|
1
2
3
4
5
6
7
8
9
|
<?php
// Get the «previous comments» link with default values.
$previous_comments_link = get_previous_comments_link();
// Display the «previous comments» link with a different label.
previous_comments_link( __( ‘Previous’, ‘translation-domain’ ) );
?>
|
Получение ссылок на paginate_comments_links() для комментариев: paginate_comments_links()
Этот тег шаблона возвращает ссылки на страницы для раздела комментариев вашей темы.
параметры
Этот шаблонный тег принимает только один параметр:
-
$args(необязательно — массив) :
Массив следующих аргументов:-
'base'(строка): базовый URL, который будет использоваться для создания постраничных ссылок. -
'format'(строка): аргумент, используемый для замены номера страницы. -
'total'(целое число): общее количество страниц. -
'current'(целое число): номер текущей страницы. -
'echo'(логическое значение): выводить тег шаблона или нет.
(По умолчанию:TRUE) -
'add_fragment'(строка): текст для добавления URL страницы.
По умолчанию: «#comments»
-
использование
|
01
02
03
04
05
06
07
08
09
10
11
12
13
14
|
<?php
// Display the pagination links with default arguments.
paginate_comments_links();
// Get the pagination links and remove the #comments parts from links.
$args = array(
‘echo’ => false,
‘add_fragment’ => »
);
$comment_pagination = paginate_comments_links( $args );
?>
|
Получение и отображение ссылки «Редактировать комментарий»: get_edit_comment_link() & edit_comment_link()
Эти теги шаблона возвращают или отображают ссылку «изменить этот комментарий», которую вы можете использовать в своих шаблонах.
параметры
get_edit_comment_link() принимает один параметр:
-
$comment_ID(необязательно — целое число) :
Идентификатор комментария для работы.
(По умолчанию: идентификатор текущего комментария)
И edit_comment_link() принимает три параметра:
-
$text(необязательно — строка) :
Текст для отображения ссылки.
(По умолчанию: «Редактировать это») -
$before(необязательно — строка) :
Текст или HTML-код для отображения перед выводом.
(По умолчанию: пусто) -
$after(необязательно — строка) :
Текст или HTML-код для отображения после вывода.
(По умолчанию: пусто)
использование
|
01
02
03
04
05
06
07
08
09
10
11
12
|
<?php
// Retrieve the current comment’s «edit comment» link.
$edit_comment_link = get_edit_comment_link();
// Retrieve a specific comment’s «edit comment» link.
$edit_comment_link = get_edit_comment_link( 133 );
// Displaying the current comment’s «edit comment» link.
edit_comment_link( __( ‘Edit’, ‘translation-domain’ ), ‘<span class=»edit-comment-link»>’, ‘
?>
|
Получение и отображение ссылки на get_post_comments_feed_link() комментариев: get_post_comments_feed_link() & post_comments_feed_link()
Эти теги шаблона возвращают или отображают ссылку на ленту комментариев.
параметры
get_post_comments_feed_link() принимает два параметра:
-
$post_ID(необязательно — целое число) :
Идентификатор поста.
(По умолчанию: текущий пост) -
$feed(необязательно — строка) :
Тип корма.
(По умолчанию: тип фида по умолчанию)
И post_comments_feed_link() принимает три параметра:
-
$link_text(необязательно — строка) :
Текст для отображения по ссылке.
(По умолчанию: «Лента комментариев») -
$post_ID(необязательно — целое число) :
Идентификатор поста.
(По умолчанию: текущий пост) -
$feed(необязательно — строка) :
Тип корма.
(По умолчанию: тип фида по умолчанию)
использование
|
1
2
3
4
5
6
7
8
9
|
<?php
// Get the post’s «comments» link for atom feeds.
$comments_link_for_feeds = get_post_comments_feed_link( $post->ID, ‘atom’ );
// Display the post’s «comments» link for default feed.
post_comments_feed_link();
?>
|
Отображение ссылки всплывающего окна «Комментарии»: comments_popup_link()
Этот шаблонный тег отображает ссылку во всплывающем окне «Комментарии», если вы хотите использовать всплывающие ссылки в списках сообщений.
параметры
Этот шаблон тега принимает пять параметров:
-
$zero(необязательно — строка) :
Текст для отображения, если нет комментариев.
(По умолчанию: «Нет комментариев») -
$one(необязательно — строка) :
Текст для отображения, если есть только один комментарий.
По умолчанию: «1 комментарий» -
$more(необязательно — строка) :
Текст для отображения, если есть более одного комментария.
(По умолчанию: «% комментариев») -
$css_class(необязательно — строка) :
Дополнительные имена классов CSS для добавления.
(По умолчанию: пусто) -
$none(необязательно — строка) :
Текст для отображения, если комментарии отключены.
(По умолчанию: «Комментарии отключены»)
использование
|
01
02
03
04
05
06
07
08
09
10
11
|
<?php
comments_popup_link(
__( ‘No Reactions’, ‘translation-domain’ ),
__( ‘Just One Reaction’, ‘translation-domain’ ),
‘% ‘ .
‘my-comments-popup-link’,
__( ‘You Can\’t React to This Post!’, ‘translation-domain’ )
);
?>
|
Отображение всплывающего сценария «Комментарии»: comments_popup_script()
Этот шаблонный тег создает и печатает скрипт всплывающего окна «Комментарии».
параметры
Этот шаблон тега принимает три параметра:
-
$width(необязательно — целое число) :
Ширина всплывающего окна.
(По умолчанию: 400) -
$height(необязательно — целое число) :
Высота всплывающего окна.
(По умолчанию: 400) -
$file(необязательно — строка) :
URL для отображения в адресной строке всплывающего окна.
(По умолчанию: домашний URL)
использование
|
1
2
3
4
5
|
<?php
comments_popup_script( 600, 300 );
?>
|
Вывод
Надеюсь, вам понравилась эта четвертая партия тегов шаблонов. Осталось еще четыре пакета, так что следите за обновлениями тегов шаблонов!
Если у вас есть какие-либо вопросы, комментарии или исправления, вы можете поделиться с нами своими мыслями в разделе «Комментарии». И если вам понравилась статья, не забудьте поделиться ею с друзьями!