Функция comments_popup_link()
выводит ссылку на всплывающее окно комментариев для текущего поста. Она используется для отображения количества комментариев с возможностью перехода к их добавлению или просмотру. Важно отметить, что начиная с версии WordPress 4.5.0, скрипт всплывающего окна комментариев устарел. В современных темах эта функция выводит обычную ссылку на страницу записи с секцией комментариев, если комментарии активированы.
comments_popup_link( $zero, $one, $more, $css_class, $none );
Параметры
$zero
(false|string, необязательный)
Текст, который будет отображаться, если комментариев нет.
По умолчанию:false
, что выводит'No Comments'
.$one
(false|string, необязательный)
Текст, который будет отображаться, если есть один комментарий.
По умолчанию:false
, что выводит'1 Comment'
.$more
(false|string, необязательный)
Текст, который будет отображаться, если есть более одного комментария.
По умолчанию:false
, что выводит'% Comments'
(где%
заменяется на число комментариев).$css_class
(string, необязательный)
Класс CSS, который будет добавлен к ссылке.
По умолчанию:''
(без класса).$none
(false|string, необязательный)
Текст, который будет отображаться, если комментарии отключены.
По умолчанию:false
, что выводит'Comments are closed'
.
Возвращаемое значение
Функция ничего не возвращает, она напрямую выводит HTML-код ссылки.
Стандартная ссылка на комментарии
<?php
comments_popup_link(
'Комментариев пока нет', // Текст, если нет комментариев
'1 комментарий', // Текст, если один комментарий
'% комментариев', // Текст для нескольких комментариев
'comments-link', // Класс CSS
'Комментирование закрыто' // Текст, если комментарии закрыты
);
?>
Вывод ссылки на комментарии с разными классами CSS
Чтобы динамически добавлять CSS-классы в зависимости от количества комментариев, можно использовать следующий код:
<?php
$css_class = 'zero-comments';
$comments_number = (int) get_comments_number( get_the_ID() );
if ( 1 === $comments_number ) {
$css_class = 'one-comment';
} elseif ( 1 < $comments_number ) {
$css_class = 'multiple-comments';
}
comments_popup_link(
'Оставить комментарий', // Текст для 0 комментариев
'1 комментарий', // Текст для 1 комментария
'% комментариев', // Текст для нескольких комментариев
$css_class, // Класс CSS
'Комментирование закрыто' // Текст, если комментарии закрыты
);
?>
Этот пример меняет CSS-класс в зависимости от количества комментариев:
zero-comments
— если нет комментариев,one-comment
— если один комментарий,multiple-comments
— если более одного комментария.
Пример с условием для закрытых комментариев
Если вы хотите скрыть ссылку на комментарии, когда они отключены, можно добавить условие:
<?php
if ( comments_open() ) : ?>
<p>
<?php comments_popup_link(
'Комментариев пока нет',
'1 комментарий',
'% комментариев',
'comments-link',
'Комментирование закрыто'
); ?>
</p>
<?php endif; ?>
В этом примере ссылка на комментарии выводится только в том случае, если комментарии для записи включены.
Примечания
- Функция устарела с версии 4.5.0, однако её всё ещё можно использовать для вывода простых ссылок на комментарии.
- Если комментарии отключены через функцию
comments_open()
,comments_popup_link()
автоматически не будет выводить ссылку. - Функция должна быть использована в цикле WordPress (
The Loop
), чтобы корректно выводить информацию для текущей записи.
Заключение
Функция comments_popup_link()
полезна для вывода ссылки на комментарии, но с устареванием её основного скрипта для всплывающих окон, она чаще всего используется как простой механизм отображения количества комментариев с возможностью перехода на страницу записи.