WP_REST_Posts_Controller::check_password_required( bool $required, WP_Post $post )

Override the result of the post password check for REST requested posts.

Description

Allow users to read the content of password protected posts if they have previously passed a permission check or if they have the edit_post capability for the post being checked.

Parameters

$required

(bool) (Required) Whether the post requires a password check.

$post

(WP_Post) (Required) The post been password checked.

Return

(bool) Result of password check taking in to account REST API considerations.

Source

File: wp-includes/rest-api/endpoints/class-wp-rest-posts-controller.php

public function check_password_required( $required, $post ) {
		if ( ! $required ) {
			return $required;
		}

		$post = get_post( $post );

		if ( ! $post ) {
			return $required;
		}

		if ( ! empty( $this->password_check_passed[ $post->ID ] ) ) {
			// Password previously checked and approved.
			return false;
		}

		return ! current_user_can( 'edit_post', $post->ID );
	}

Changelog

Version Description
5.7.1 Introduced.

© 2003–2021 WordPress Foundation
Licensed under the GNU GPLv2+ License.
https://developer.wordpress.org/reference/classes/wp_rest_posts_controller/check_password_required