WPSEO_Meta::hide_meta_from_unauthorized_rest_response
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() 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;
}