функция
since 2.7.0
post_password_required()
Проверено на WordPress 6.9, обновлено Источник: WordPress Developer Resources.
Сигнатура
post_password_required( int|WP_Post|null $post = null ): bool
Описание
Определяет, требует ли запись пароль и был ли введён правильный пароль.
Параметры
$post
int|WP_Post|null
необязательный
= null
Необязательная запись. Если не указана, используется глобальная переменная $post.
Возвращаемое значение
bool
Исходный код
wp-includes/post-template.php:882
function post_password_required( $post = null ) {
$post = get_post( $post );
if ( empty( $post->post_password ) ) {
/** This filter is documented in wp-includes/post-template.php */
return apply_filters( 'post_password_required', false, $post );
}
if ( ! isset( $_COOKIE[ 'wp-postpass_' . COOKIEHASH ] ) ) {
/** This filter is documented in wp-includes/post-template.php */
return apply_filters( 'post_password_required', true, $post );
}
require_once ABSPATH . WPINC . '/class-phpass.php';
$hasher = new PasswordHash( 8, true );
$hash = wp_unslash( $_COOKIE[ 'wp-postpass_' . COOKIEHASH ] );
if ( ! str_starts_with( $hash, '$P$B' ) ) {
$required = true;
} else {
$required = ! $hasher->CheckPassword( $post->post_password, $hash );
}
/**
* Filters whether a post requires the user to supply a password.
*
* @since 4.7.0
*
* @param bool $required Whether the user needs to supply a password. True if password has not been
* provided or is incorrect, false if password has been supplied or is not required.
* @param WP_Post $post Post object.
*/
return apply_filters( 'post_password_required', $required, $post );
}
История изменений
| Версия | Описание |
|---|---|
| 2.7.0 | Introduced. |

