WPSEO_Meta::hide_meta_from_unauthorized_rest_responsepublic staticYoast 1.0

Strips REST-exposed Yoast meta fields from the response for users without edit_post capability on the post.

Метод класса: WPSEO_Meta{}

Хуков нет.

Возвращает

WP_REST_Response. The (possibly modified) response.

Использование

$result = WPSEO_Meta::hide_meta_from_unauthorized_rest_response( $response, $post );
$response(WP_REST_Response) (обязательный)
The REST response.
$post(WP_Post) (обязательный)
The post object.

Код WPSEO_Meta::hide_meta_from_unauthorized_rest_response() Yoast 27.9

public static function hide_meta_from_unauthorized_rest_response( $response, $post ) {
	if ( current_user_can( 'edit_post', $post->ID ) ) {
		return $response;
	}
	$data = $response->get_data();
	foreach ( self::$meta_fields as $field_group ) {
		foreach ( $field_group as $key => $field_def ) {
			if ( ! empty( $field_def['show_in_rest'] ) ) {
				unset( $data['meta'][ self::$meta_prefix . $key ] );
			}
		}
	}
	$response->set_data( $data );
	return $response;
}