WP_REST_Comments_Controller::check_read_permission()protectedWP 4.7.0

Checks if the comment can be read.

Method of the class: WP_REST_Comments_Controller{}

No Hooks.

Return

true|false. Whether the comment can be read.

Usage

// protected - for code of main (parent) or child class
$result = $this->check_read_permission( $comment, $request );
$comment(WP_Comment) (required)
Comment object.
$request(WP_REST_Request) (required)
Request data to check.

Changelog

Since 4.7.0 Introduced.

WP_REST_Comments_Controller::check_read_permission() code WP 6.4.3

protected function check_read_permission( $comment, $request ) {
	if ( ! empty( $comment->comment_post_ID ) ) {
		$post = get_post( $comment->comment_post_ID );
		if ( $post ) {
			if ( $this->check_read_post_permission( $post, $request ) && 1 === (int) $comment->comment_approved ) {
				return true;
			}
		}
	}

	if ( 0 === get_current_user_id() ) {
		return false;
	}

	if ( empty( $comment->comment_post_ID ) && ! current_user_can( 'moderate_comments' ) ) {
		return false;
	}

	if ( ! empty( $comment->user_id ) && get_current_user_id() === (int) $comment->user_id ) {
		return true;
	}

	return current_user_can( 'edit_comment', $comment->comment_ID );
}