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: Условные теги: author_can(), cat_is_ancestor_of(), comments_open(), email_exists(), has_excerpt(), has_nav_menu(), has_post_format(), has_post_parent(), has_post_thumbnail(), has_tag(), have_comments(), in_category(), is_404(), is_active_sidebar(), is_admin(), is_admin_bar_showing(), is_archive(), is_attachment(), is_author(), is_blog_installed(), is_category(), is_date(), is_day(), is_feed(), is_front_page(), is_home(), is_main_query(), is_main_site(), is_month(), is_object_in_term(), is_page(), is_page_template(), is_paged(), is_post_type_archive(), is_preview(), is_rtl(), is_search(), is_single(), is_singular(), is_ssl(), is_sticky(), is_tag(), is_tax(), is_taxonomy_hierarchical(), is_time(), is_user_logged_in(), is_year(), post_password_required(), term_is_ancestor_of(), wp_is_mobile(), wp_is_post_revision()

Источник: Блог Миши Рудрастых

Миша Рудрастых

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

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