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 лично, у себя в блогах и на курсах в Санкт-Петербурге. Умеет просто объяснять сложные вещи, делает это красиво. Организовывает неплохие WordCamp's, но совсем не умеет слушать чужие доклады.

Добавить комментарий

%d такие блоггеры, как: