post_password_required() – Determines whether the post requires password and whether a correct password has been provided.
You appear to be a bot. Output may be restricted
Description
Determines whether the post requires password and whether a correct password has been provided.
Usage
$bool = post_password_required( $post );
Parameters
- $post
- ( int|WP_Post|null ) optional – An optional post. Global $post used if not provided.
Returns
bool false if a password is not required or the correct password cookie is present, true otherwise.
Source
File name: wordpress/wp-includes/post-template.php
Lines:
1 to 38 of 38
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 ); }