В четвертой части серии мы рассмотрели третий пакет тегов шаблонов 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 );
?>
|
Вывод
Надеюсь, вам понравилась эта четвертая партия тегов шаблонов. Осталось еще четыре пакета, так что следите за обновлениями тегов шаблонов!
Если у вас есть какие-либо вопросы, комментарии или исправления, вы можете поделиться с нами своими мыслями в разделе «Комментарии». И если вам понравилась статья, не забудьте поделиться ею с друзьями!