Статьи

Путеводитель по шаблонам: четвертая партия

В четвертой части серии мы рассмотрели третий пакет тегов шаблонов WordPress. В этой пятой части мы рассмотрим четвертый пакет из почти 200 тегов-шаблонов. В этом уроке мы снова увидим теги шаблонов для комментариев, как и в предыдущем пакете.

Эти теги шаблона возвращают и отображают ссылку на раздел «Комментарии».

comments_link() не принимает никаких параметров, но get_comments_link() принимает один:

  • $post_ID (необязательно — целое число или объект) :
    Идентификатор поста.
    (По умолчанию: текущий пост)
1
2
3
4
5
<?php
 
comments_link();
 
?>

Этот популярный тег шаблона содержит комментарии, добавленные к сообщению.

Этот тег шаблона принимает два параметра:

  • $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() принимает только один параметр:

  • $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() принимает три параметра:

  • $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 );
 
?>

Этот шаблон тега отображает всю форму комментария.

Этот тег шаблона принимает два параметра:

  • $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 );
 
?>

Этот тег шаблона повторяет динамический заголовок для формы комментария.

Этот шаблон тега принимает три параметра:

  • $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 );
 
?>

Эти теги шаблона позволяют вам возвращать или отображать ссылку для ответа на данный комментарий.

Оба тега шаблона принимают три параметра:

  • $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 );
 
?>

Эти теги шаблона повторяют или возвращают скрытые и обязательные поля 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 );
 
?>

Эти теги шаблона возвращают или отображают ссылку «Отменить ответ» для использования с формой ответа на комментарий.

Оба тега шаблона принимают только один параметр:

  • $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’ ) );
 
?>

Эти теги шаблона возвращают или распечатывают ссылку «следующие комментарии» в разделе «Комментарии» вашей темы.

Оба тега шаблона принимают два параметра:

  • $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’ ) );
 
?>

Эти теги шаблона возвращают или распечатывают ссылку «предыдущие комментарии» в разделе «Комментарии» вашей темы.

Оба тега шаблона принимают только один параметр:

  • $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’ ) );
 
?>

Этот тег шаблона возвращает ссылки на страницы для раздела комментариев вашей темы.

Этот шаблонный тег принимает только один параметр:

  • $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() принимает один параметр:

  • $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() принимает два параметра:

  • $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();
 
?>

Этот шаблонный тег отображает ссылку во всплывающем окне «Комментарии», если вы хотите использовать всплывающие ссылки в списках сообщений.

Этот шаблон тега принимает пять параметров:

  • $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’ )
);
 
?>

Этот шаблонный тег создает и печатает скрипт всплывающего окна «Комментарии».

Этот шаблон тега принимает три параметра:

  • $width (необязательно — целое число) :
    Ширина всплывающего окна.
    (По умолчанию: 400)
  • $height (необязательно — целое число) :
    Высота всплывающего окна.
    (По умолчанию: 400)
  • $file (необязательно — строка) :
    URL для отображения в адресной строке всплывающего окна.
    (По умолчанию: домашний URL)
1
2
3
4
5
<?php
 
comments_popup_script( 600, 300 );
 
?>

Надеюсь, вам понравилась эта четвертая партия тегов шаблонов. Осталось еще четыре пакета, так что следите за обновлениями тегов шаблонов!

Если у вас есть какие-либо вопросы, комментарии или исправления, вы можете поделиться с нами своими мыслями в разделе «Комментарии». И если вам понравилась статья, не забудьте поделиться ею с друзьями!