post_password_required()
Проверяет защищен пост паролем или нет. Также проверяет правильность пароля, если пароль у поста установлен.
Хуки из функции
Возвращает
true|false. Логические: true, если нужно ввести пароль для просмотра поста или false, если пост не защищен паролем.
Использование
if( post_password_required( $post ) ){ ... }
- $post(число/объект) (обязательный)
- ID поста или объект с данными поста.
По умолчанию: глобальная переменная $post
Примеры
#1 Действие только для постов защищенных паролем
Допустим что пост 443 защищен паролем, тогда:
if( post_password_required( 443 ) ){
echo "Этот пост защищен паролем!";
} #2 Показать записи только если у пользователя есть пароль записи
$master_post = get_post();
if ( post_password_required( $master_post->ID ) ) {
echo '<p>ЭТА ЗАПИСЬ ЗАЩИЩЕНА ПАРОЛЕМ: ПОЖАЛУЙСТА, ВВЕДИТЕ ЕГО!</p>';
echo get_the_password_form();
}
else {
if ( have_posts() ) {
while ( have_posts() ) {
the_post();
the_content();
echo '<hr>';
}
}
else {
echo '<p>Ничего не найдено!</p>';
}
}
Примечание: Еще одно, на что вам нужно обратить внимание, это куки, которые устанавливаются после того, как пароль был использован один раз, это делает отладку сложной, (совет), используйте режим инкогнито при тестировании вашего кода.
См.: get_the_password_form(),
Список изменений
| С версии 2.7.0 | Введена. |