WordPress как на ладони
Наставник Трепачёв Д.П., phphtml.net wordpress jino

comments_open() WP 1.5.0

Проверяет открыто ли комментирование для указанного поста/записи.

Результат возвращаемый этой функцией можно изменить через фильтр comments_open.

Работает на основе: get_post()
✈ 1 раз = 0.000093с = очень быстро | 50000 раз = 2.61с = быстро
Хуки из функции:
Возвращает

true, если можно оставлять комментарии к посту и false, если нельзя.

Использование

if( comments_open() ){
	// ...
}
$post_id(число) (обязательный)
ID поста, для которого нужно проверить разрешение оставлять комментарии.
По умолчанию: нет

Примеры

#1. Проверим возможность оставлять комментарии к посту и если оставлять комментарии разрешено, то выведем шаблон комментариев.

if( comments_open($post->ID) )
	comments_template();

#2. Использование фильтра comments_open.

Этот пример показывает как закрыть комментарии ко всем постоянным страницам (записям типа page):

add_filter( 'comments_open', 'my_comments_open', 10, 2 );

function my_comments_open( $open, $post_id ) {

	$post = get_post( $post_id );

	if ( 'page' == $post->post_type )
		$open = false;

	return $open;
}

Если шаблон комментариев выводится через проверку, как в первом примере, то для всех постоянных страниц comments_open($post->ID) будет возвращать false, соответственно шаблон комментариев (comments_template()) выводится не будет.

#3. Альтернативно проверить возможность оставлять комментарии к текущему посту можно так:

global $post;
if( 'open' == $post->comment_status )
	comments_template();

Код comments open: wp-includes/comment-template.php WP 4.8.1

<?php
function comments_open( $post_id = null ) {

	$_post = get_post($post_id);

	$post_id = $_post ? $_post->ID : 0;
	$open = ( 'open' == $_post->comment_status );

	/**
	 * Filters whether the current post is open for comments.
	 *
	 * @since 2.5.0
	 *
	 * @param bool $open    Whether the current post is open for comments.
	 * @param int  $post_id The post ID.
	 */
	return apply_filters( 'comments_open', $open, $post_id );
}

Cвязанные функции

Из метки: Условные теги (все)

Еще из раздела: Остальное

comments_open Комментариев нет

Здравствуйте, !

Ваш комментарий