comments_popup_link() WP 0.71

Виводить готове <a> посилання на спливаюче вікно коментарів, працює при використанні скрипта comments_popup_script() .

Якщо потрібний скрипт не викликається, то буде виведене просте посилання на коментарі запису, см . comments_link() .

Цей тег шаблон повинен бути всередині циклу WordPress або циклу коментарів.

Скрипт застарів із версії WP 4.5.0.

Як виглядатиме спливаюче вікно визначається файлом шаблона: comments-popup.php.

Функція нічого не виводить, якщо з’являються окремі сторінки записів: is_single() або is_page() .

1 раз – 0.008033 сек
(дуже повільно) | 50000 разів – 13.64 сек
(повільно) |
PHP 7.1.5, WP 4.8.2

Хуки з функції

Повертає

null.

Використання

comments_popup_link( $zero, $one, $more, $css_class, $none);
$zero
(рядок)
Текст для показу, коли немає коментарів.


За замовчуванням: ‘Немає коментарів’
$one
(рядок)
Текст для показу, якщо 1 коментар.


За замовчуванням: ‘1 коментар’
$more
(рядок)
Текст для показу, якщо більше ніж один коментар.


За замовчуванням: ‘%1$s коментарів’
$css_class
(рядок)
Назва css класу для посилання. За замовчуванням клас не задається.


За замовчуванням: ”
$none
(рядок)
Текст для показу, якщо коментування відключено.


За замовчуванням: ‘Коментування вимкнено’

Приклади

0

#1 Виведення посилання на блок коментарів посту.

<p><?php comments_popup_link(); ?></p>

Отримаємо:

<a href="https://example.com/post-name#respond">No Comments</a>

Якщо пост захищений паролем (див. post_password_required() ), буде показано текст Введите пароль для просмотра комментариев..

0

#2 Як не показувати посилання на спливаюче вікно коментування, коли коментарі закриті:

<?php
if( comments_open() ){
	comments_popup_link( 'Коментарів поки немає', '1 коментар', '% коментарів', 'с_link' );
}
?>

список змін

З версії 0.71Введено.

Код comments_popup_link() WP 6.0.2

function comments_popup_link( $zero = false, $one = false, $more = false, $css_class = '', $none = false ) {
	$post_id = get_the_ID();
	$post_title = get_the_title();
	$number = get_comments_number($post_id);

	if ( false === $zero ) {
		/* translators: %s: Post title. */
		$zero = sprintf( __( 'No Comments<span class="screen-reader-text"> on %s</span>' ), $post_title );
	}

	if ( false === $one ) {
		/* translators: %s: Post title. */
		$one = sprintf( __( '1 Comment<span class="screen-reader-text"> on %s</span>' ), $post_title );
	}

	if (false === $more) {
		/* translators: 1: Number of comments, 2: Post title. */
		$more = _n( '%1$s Comment<span class="screen-reader-text"> on %2$s</span>', '%1$s Comments<span class="screen-reader-text "> on %2$s</span>', $number );
		$more = sprintf( $more, number_format_i18n( $number ), $post_title );
	}

	if ( false === $none ) {
		/* translators: %s: Post title. */
		$none = sprintf( __( 'Comments Off<span class="screen-reader-text"> on %s</span>' ), $post_title );
	}

	if ( 0 == $number && ! comments_open() && ! pings_open() ) {
		echo '<span'. ( ( ! empty( $css_class ) ) ? ' class="' . esc_attr( $css_class ) . '"' : '' ) . '>'. $none . '</span>';
		return;
	}

	if (post_password_required()) {
		_e( 'Enter your password to view comments.' );
		return;
	}

	echo '<a href="';
	if ( 0 == $number ) {
		$respond_link = get_permalink() . '#respond';
		/**
		 * Filters the respond link when a post has no comments.
		 *
		 * @ Since 4.4.0
		 *
		 * @param string $respond_link The default response link.
		 * @param int $post_id The post ID.
		 */
		echo apply_filters( 'respond_link', $respond_link, $post_id );
	} else {
		comments_link();
	}
	echo ''';

	if ( ! empty( $css_class ) ) {
		echo 'class="' . $css_class . '" ';
	}

	$attributes = '';
	/**
	 * Filters comments link attributes for display.
	 *
	 * @ Since 2.5.0
	 *
	 * @param string $attributes Комментарі link attributes. Default empty.
	 */
	echo apply_filters( 'comments_popup_link_attributes', $attributes );

	echo '>';
	comments_number($zero, $one, $more);
	echo '</a>';
}

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *