WP_REST_Comments_Controller::get_item_permissions_check
Checks if a given request has access to read the comment.
Метод класса: WP_REST_Comments_Controller{}
Хуков нет.
Возвращает
true|WP_Error. True if the request has read access for the item, error object otherwise.
Использование
$WP_REST_Comments_Controller = new WP_REST_Comments_Controller(); $WP_REST_Comments_Controller->get_item_permissions_check( $request );
- $request(WP_REST_Request) (обязательный)
- Full details about the request.
Список изменений
| С версии 4.7.0 | Введена. |
Код WP_REST_Comments_Controller::get_item_permissions_check() WP REST Comments Controller::get item permissions check WP 6.9
public function get_item_permissions_check( $request ) {
$comment = $this->get_comment( $request['id'] );
if ( is_wp_error( $comment ) ) {
return $comment;
}
// Re-map edit context capabilities when requesting `note` type.
$edit_cap = 'note' === $comment->comment_type ? array( 'edit_comment', $comment->comment_ID ) : array( 'moderate_comments' );
if ( ! empty( $request['context'] ) && 'edit' === $request['context'] && ! current_user_can( ...$edit_cap ) ) {
return new WP_Error(
'rest_forbidden_context',
__( 'Sorry, you are not allowed to edit comments.' ),
array( 'status' => rest_authorization_required_code() )
);
}
$post = get_post( $comment->comment_post_ID );
if ( ! $this->check_read_permission( $comment, $request ) ) {
return new WP_Error(
'rest_cannot_read',
__( 'Sorry, you are not allowed to read this comment.' ),
array( 'status' => rest_authorization_required_code() )
);
}
if ( $post && ! $this->check_read_post_permission( $post, $request ) ) {
return new WP_Error(
'rest_cannot_read_post',
__( 'Sorry, you are not allowed to read the post for this comment.' ),
array( 'status' => rest_authorization_required_code() )
);
}
return true;
}