Вивчаємо теги шаблонів: частина перша
Вивчаємо теги шаблонів: частина друга
Вивчаємо теги шаблонів: частина третя
Вивчаємо теги шаблонів: частина четверта
Вивчаємо теги шаблонів: частина п’ята
Вивчаємо теги шаблонів: частина шоста

У сьогоднішній, п’ятої за рахунком статті з цієї серії, ми раді представити вам чергову «порцію» тегів шаблонів. Сьогодні, як і в попередній частині ми розглянемо теги, пов’язані з коментуванням.

Отримуємо і виводимо посилання на розділ коментарів: get_comments_link() і comments_link()

Ці теги повертають і виводять посилання на розділ коментарів.

Параметри

comments_link() не приймає параметрів, а get_comments_link() приймає один параметр:

  • $post_ID (integer або object, необов’язковий): ID запису. За замовчуванням: поточний запис.

Застосування

Отримуємо і виводимо список коментарів: wp_list_comments()

Цей популярний тег виводить список коментарів до зазначеної запису.

Параметри

Цей тег шаблону приймає два параметри:

  • $args (array. необов’язковий): Масив включає в себе наступні елементи:

— ‘walker‘ (object): екземпляр класу Walker для перерахування коментарів. За замовчуванням: NULL;
— ‘max_depth‘ (integer): максимальна глибина коментарів;
— ‘style‘ (string): в якому форматі буде виведений список коментарів (‘ul‘ або ‘ol‘). За замовчуванням: ‘ul‘;
— ‘callback‘ (string): callback-функція, яка буде використовуватися при виводі списку. За замовчуванням: NULL;
— ‘end-callback‘ (string): callback-функція, яка буде використовуватись для кожного коментаря. За замовчуванням: NULL;
— ‘type‘ (string): Тип коментарів, які потрібно вивести в список. (‘all‘, ‘comment‘, ‘pingback‘, ‘trackback‘ або ‘pings‘). За замовчуванням: ‘all‘;
— ‘page‘ (integer): ID сторінки, для якої виводяться коментарі;
— ‘per_page‘ (integer): кількість коментарів, що виводяться на сторінку;
— ‘avatar_size‘ (integer): Розмір аватара. (За замовчуванням: 32);
— ‘reverse_top_level‘ (string): Сортування виведених коментарів (‘desc‘ або ‘asc‘). За замовчуванням: NULL;
— ‘reverse_children‘ (bool): Розкривати дочірні коментарі чи ні. За замовчуванням: false;
— ‘format‘ (string): Як форматувати список коментарів. За замовчуванням: ‘html5’, якщо підтримується HTML5, або ‘xhtml‘;
— ‘short_ping‘ (bool): Виводити чи пингтрэки. За замовчуванням: FALSE;
— ‘echo‘ (bool): Виводити список (TRUE) або повертати (FALSE). За замовчуванням: TRUE.

  • $comments (array, необов’язковий): Масив об’єктів коментарів. За замовчуванням Усі коментарі для поточного запису.

Застосування

‘ol’,
// Отримуємо тільки коментарі.
‘type’ => ‘comments’,
// Довільну кількість коментарів на сторінку.
‘per_page’ => 15,
// Зменшуємо розмір аватара.
‘avatar_size’ => 16,
// Примусове використання HTML5-розмітки.
‘format’ => ‘html5’,
// Повертаємо результат замість висновку.
‘echo’ => 0
);
$comments_list = wp_list_comments( $args );
?>

Отримуємо і виводимо кількість коментарів: get_comments_number() і comments_number()

Ці теги отримують і виводять кількість коментарів до запису.

Параметри

get_comments_number() приймає один параметр:

  • post_ID (integer або Object, необов’язковий): ID запису. За замовчуванням: поточний запис.

comments_number() приймає три параметри:

  • $zero (string, необов’язковий): Текст, що відображається при відсутності коментарів. За замовчуванням: ‘Немає коментарів’;
  • $one (string, необов’язковий): Текст, що відображається при наявності тільки одного коментаря. За замовчуванням: ‘1 коментар’;
  • $more (string, необов’язковий): Текст, що відображається при наявності кількох коментарів. За замовчуванням: ‘Коментарів: %’.

Застосування

Отримуємо і виводимо автоматичні класи для кожного коментаря: get_comment_class() і comment_class()

Ці теги дозволяють отримувати і виводити класи CSS для оформлення коментарів.

Параметри

get_comment_class() приймає 3 параметри:

  • $class (string або array, необов’язковий): імена класів, які потрібно додати. За замовчуванням: »;
  • $comment_ID (integer, необов’язковий): ID необхідного коментаря. За замовчуванням: ID поточного коментаря;
  • $post_ID (integer або Object, необов’язковий): ID запису. За замовчуванням: поточний запис.

comment_class() приймає чотири параметри:

  • $class (string або array, необов’язковий): імена класів, які потрібно додати. За замовчуванням: »;
  • $comment_ID (integer, необов’язковий): ID необхідного коментаря. За замовчуванням: ID поточного коментаря;
  • $post_ID (integer або Object, необов’язковий): ID запису. За замовчуванням: поточна запис;
  • $echo (bool, необов’язковий): Вивести (TRUE) або повернути (FALSE) результат.

За замовчуванням: TRUE.

Застосування

Виводимо форму коментарів: comment_form()

Цей тег виводить на екран код готової форми коментаря.

Параметри

Цей тег шаблону приймає два параметри:

  • $args (array, необов’язковий): Масив включає в себе наступні аргументи:

— ‘fields‘ (array): HTML-код для стандартних полів коментарів (‘author‘, ‘email‘ і ‘url‘). За замовчуванням усі три;
— ‘comment_field‘ (string): HTML-код елемента коментаря TEXTAREA;
— ‘must_log_in‘ (string): HTML-код повідомлення «потрібно зареєструватися, щоб залишати коментарі»;
— ‘logged_in_as‘ (string): HTML-код повідомлення для зареєстрованих користувачів;
— ‘comment_notes_before‘ (string): HTML-код для відображення перед формою коментарів;
— ‘comment_notes_after‘ (string): HTML-код форми після коментарів;
— ‘id_form‘ (string): ID елемента форми коментарів FORM;
— ‘id_submit‘ (string): ID кнопки підтвердження;
— ‘name_submit‘ (рядок запиту): Значення атрибута Name кнопки підтвердження;
— ‘title_reply‘ (string): Заголовок кнопки «Написати коментар»;
— ‘title_reply_to‘ (string): Заголовок кнопки «Написати відповідь %s»;
— ‘cancel_reply_link‘ (string): Текст посилання «Скасувати»;
— ‘label_submit‘ (string): Текст кнопки «Написати коментар»;
— ‘format‘ (array): Формат форми коментарів (‘xhtml‘ або ‘html5‘). За замовчуванням ‘xhtml‘.

  • $post_ID (integer або Object, необов’язковий): ID запису. За замовчуванням: поточний запис.

Застосування

array( ‘author’, ’email’ ),
‘must_log_in’ => __( ‘Вам потрібно увійти, щоб залишити коментар.’, ‘translation-domain’ ),
‘label_submit’ => __( ‘Додати’, ‘translation-domain’ ),
‘format’ => ‘html5’
);
comment_form( $args );
?>

Виводимо заголовок форми коментарів: comment_form_title()

Тег виводить заголовок форми коментарів.

Параметри

Цей тег шаблону приймає три параметри:

  • $noreplytext (string, необов’язковий): Текст посилання для написання звичайного коментаря. За замовчуванням: ‘додати коментар’;
  • $replytext (string, необов’язковий): Текст посилання, яка дозволить відповісти на вже існуючий коментар. За замовчуванням: ‘Відповісти на коментар %s’;
  • $linktoparent (bool, необов’язковий): Прив’язати ім’я користувача до його коментарю. За замовчуванням: TRUE.

Застосування

Отримуємо і виводимо посилання «відповісти на коментар»: get_comment_reply_link() і comment_reply_link()

Тег дозволяє повертати і виводити посилання для відповіді на певний коментар.

Параметри

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

  • args (array, необов’язковий): Масив включає в себе наступні аргументи:

— ‘add_below‘ (string, необов’язковий): перша частина селектора використовується для визначення коментаря, на який буде даватися відповідь. Отримане значення потім використовується як перший параметр addComment.moveForm(), відображеної в $add_below-$comment->comment_ID. За замовчуванням: ‘comment‘;
— ‘respond_id‘ (string): селектор визначає відповідний коментар. Отриманий результат вноситься як третій параметр у addComment.moveForm(), і прив’язується до URL у вигляді хеша. За замовчуванням: ‘respond‘;
— ‘reply_text‘ (string): Текст посилання ‘Відповісти’. За замовчуванням: ‘Відповісти’;
— ‘login_text‘ (string): Текст посилання для відповіді без авторизації. За замовчуванням: ‘Увійти, щоб відповісти’;
— ‘depth‘ (integer): глибина коментаря – значення повинно бути вище 0, і нижче значення опції ‘thread_comments_depth‘, виставленого в Налаштування > Обговорення. За замовчуванням: 0;
— ‘before‘ (string): Текст або HTML-код, який буде перед посиланням. За замовчуванням: »;
— ‘after‘ (string): Текст або HTML-код, який буде показаний після посилання. За замовчуванням: »..

  • $comment_ID (integer, необов’язковий): ID необхідного коментаря. За замовчуванням: ID поточного коментаря;
  • post_ID (integer або Object, необов’язковий): ID запису. За замовчуванням: поточний запис.

Застосування

__( ‘Написати коментар’, ‘translation-domain’ ),
‘login_text’ => __( ‘Увійти щоб висловитися’, ‘translation-domain’ ),
‘after’ =>»
);
$comment_reply_link = get_comment_reply_link( $args );
?>

Отримуємо і виводимо приховані поля «відповісти на коментар»: get_comment_id_fields() і comment_id_fields()

Тег виводить або повертають приховані поля форми для коментування.

Параметри

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

  • $post_ID integer або Object, необов’язковий): ID запису. За замовчуванням: поточний запис.

Застосування

Отримуємо і виводимо посилання «Скасувати коментар»: get_cancel_comment_reply_link() і cancel_comment_reply_link()

Теги повертають і виводять посилання «Скасувати коментар», яку можна використовувати у формі коментарів.

Параметри

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

  • $text (string, необов’язковий): Текст, який буде відображатися в посиланні для скасування коментаря. За замовчуванням: «Натисніть тут, щоб скасувати коментар«.

Застосування

Отримуємо і виводимо посилання на наступну сторінку коментарів: get_next_comments_link() і next_comments_link()

Теги повертають або виводять посилання на наступну сторінку коментарів.

Параметри

Обидва тега шаблонів приймають два значення:

  • $label (string, необов’язковий): Текст посилання. За замовчуванням: »;
  • $max_page (integer, необов’язковий): Максимальне кількість сторінок. За замовчуванням: 0.

Застосування

Отримуємо і виводимо посилання «Попередні коментарі»: get_previous_comments_link() і previous_comments_link()

Теги отримують або виводять посилання «Попередні коментарі» в розділі коментарів.

Параметри

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

  • $label (string, необов’язковий): Текст посилання. За замовчуванням: ‘» Попередні коментарі’.

Застосування

Отримуємо посилання пагинации (посторінкового виведення) коментарів: paginate_comments_links()

Тег повертає посилання на сторінки коментарів.

Параметри

Цей тег шаблону приймає лише один параметр:

  • $args (array, необов’язковий): Масив включає в себе наступні аргументи:

— ‘base‘ (string): базовий URL для створення посилань посторінкового виведення;
— ‘format‘ (string): Аргумент, який буде використовуватися для заміни номерів сторінок;
— ‘total‘ (integer): Загальна кількість сторінок;
— ‘current‘ (integer): Номер поточної сторінки;
— ‘echo‘ (bool): Виводити посилання чи ні. За замовчуванням: TRUE;
— ‘add_fragment‘ (string): Текст, який передує URL сторінок. За замовчуванням: ‘#comments‘.

Застосування

false,
‘add_fragment’ =>»
);
$comment_pagination = paginate_comments_links( $args );
?>

Отримуємо і виводимо на посилання «Редагувати коментар»: get_edit_comment_link() і edit_comment_link()

Теги отримують або виводять посилання «Редагувати коментар», яку можна використовувати в шаблонах.

Параметри

get_edit_comment_link() приймає один параметр:

  • comment_ID (integer, необов’язковий): ID необхідного коментаря. За замовчуванням: ID поточного коментаря.

edit_comment_link() приймає три параметри:

  • $text (string, необов’язковий): Текст посилання. За замовчуванням: «Редагувати«;
  • $before (string, необов’язковий): Текст або HTML-код, який буде перед посиланням. За замовчуванням: »;
  • $after (string, необов’язковий): Текст або HTML-код, який буде показаний після посилання. За замовчуванням: ».

Застосування

‘, ‘‘ );
?>

Отримуємо і виводимо «розсилання нових коментарів»: get_post_comments_feed_link() і post_comments_feed_link()

Теги отримують або виводять посилання на RSS-розсилку коментарів.

Параметри

get_post_comments_feed_link() приймає два параметри:

  • $post_ID (integer, необов’язковий): ID запису. За замовчуванням: поточна запис;
  • $feed (string, необов’язковий): Тип розсилки. За замовчуванням: Тип розсилки за замовчуванням.

post_comments_feed_link() приймає три параметри:

  • $link_text (string, необов’язковий): Текст посилання. За замовчуванням: «Розсилка коментарів«;
  • $post_ID (integer, необов’язковий): ID запису. За замовчуванням: поточна запис;
  • $feed (string, необов’язковий): Тип розсилки. За замовчуванням: Тип розсилки за замовчуванням.

Застосування

ID ‘atom’ );
// Виводимо посилання на коментарі до запису для стандартної розсилки.
post_comments_feed_link();
?>

Виводимо посилання на коментарі у спливаючому вікні: comments_popup_link()

Тег виводить посилання на спливаюче вікно з коментарями.

Параметри

Цей тег шаблону приймає п’ять параметрів:

  • $zero (string, необов’язковий): Текст, що відображається при відсутності коментарів. За замовчуванням: ‘Немає коментарів’;
  • $one (string, необов’язковий): Текст, що відображається при наявності тільки одного коментаря. За замовчуванням: ‘1 коментар’;
  • $more (string, необов’язковий): Текст, що відображається при наявності кількох коментарів. За замовчуванням: ‘Коментарів: %’;
  • $css_class (string, необов’язковий): Додаткові CSS-класи, які необхідно додати. За замовчуванням: »;
  • $none (string, необов’язковий): Текст, що відображається при вимкнених коментарях. За замовчуванням: ‘Коментування вимкнено’.

Застосування

Виводимо скрипт спливаючого вікна для коментарів: comments_popup_script()

Тег створює і виводить скрипт спливаючого вікна для коментарів.

Параметри

Цей тег шаблону приймає три параметри:

  • $width (integer, необов’язковий): Ширина спливаючого вікна. За замовчуванням: 400;
  • $height (integer, необов’язковий): Висота спливаючого вікна. За замовчуванням: 400;
  • $file (string, необов’язковий): URL, який буде відображатися в адресному рядку спливаючого вікна. За замовчуванням: URL головної сторінки.

Застосування

На завершення

Сподіваємося, вам сподобалася четверта «порція» тегів шаблонів. Найближчим часом ми опублікуємо наступні статті з цієї серії.

Якщо у вас виникли питання або зауваження, обов’язково напишіть про це в коментарях. І якщо вам сподобалася наша стаття, не забудьте поділитися нею з друзями!

Переклад статті «The Tuts+ Guide to Template Tags: Fourth Batch» був підготовлений дружною командою проекту Сайтостроение від А до Я.