post_password_required()

Функция проверяет две вещи – установлен ли пароль на просмотр поста и, если установлен, указал ли текущий пользователь сайта этот пароль.

post_password_required( $post = null )

Параметры

$post
(целое число|объект WP_Post) Укажите ID или объект поста, чтобы проверить, необходимо ли ввести пароль для его просмотра. По умолчанию – текущий пост в цикле.

Функция возвращает:

  • false – если пост не защищён паролем, либо, если защищён, и корректный пароль сохранён в куках браузера пользователя,
  • true – в остальных случаях.

Пример

Например при помощи этой функции мы помимо контента поста, можем защитить и вывод чего-либо из мета-полей.

if ( ! post_password_required() ) {
    // если текущий пост не защищён паролем ИЛИ защищён и пароль введён
    echo 'Адрес: ' . get_post_meta( get_the_ID(), 'addr', true );
}

Хук post_password_required

Позволяет переписать результат действия этой функции. Например, вы хотите, чтобы функция возращала false всегда для поста с ID = 5.

add_filter( 'post_password_required', 'true_modify_pass_requirements', 25, 2 );
 
function true_modify_pass_requirements( $required, $post ){
	if( 5 == $post->ID ) {
		$required = false;
	}
	return $required;
}

Не знаете, куда вставлять код?

Миша

Впервые познакомился с WordPress в 2009 году. Организатор и спикер на конференциях WordCamp. Преподаватель в школе Нетология.

Если вам нужна помощь с сайтом или разработка с нуля на WordPress / WooCommerce — пишите. Я и моя команда будем рады вам помочь!

Оставить комментарий

Если вы хотите добавить код, не забудьте обернуть его в <pre lang="php"></pre>, если же код – меньше одной строчки, то можно и в <code></code>.