Podemos deshabilitar la API REST por diferentes motivos. Pero al hacerlo, hay que tener en cuenta el “para quién”, los usuarios para los cuales se está deshabilitando el acceso. Podemos deshabilitar la API REST para todos los usuarios, pero también solo para los usuarios desconectados, o para los usuarios desconectados que no tengan el perfil de administrador. Ello dependerá de cómo queremos usar WordPress. En este post, veremos cómo deshabilitar la API REST de tres maneras.
Tabla de contenidos
Deshabilitar la API REST para todos
add_filter('rest_enabled', '__return_false');
add_filter('rest_jsonp_enabled', '__return_false');
PHPDeshabilitar la API REST para todos salvo para los usuarios con el perfil de administrador
add_filter( 'rest_authentication_errors', function( $result ) {
if ( ! empty( $result ) ) {
return $result;
}
if ( ! current_user_can( 'manage_options' ) ) {
return new WP_Error( 'rest_forbidden', __( 'Only administrators can access the REST API.' ), array( 'status' => rest_authorization_required_code() ) );
}
return $result;
});
Deshabilitar la API REST para todos salvo los usuarios con sesión iniciada
add_filter( 'rest_authentication_errors', function( $result ) {
if ( ! empty( $result ) ) {
return $result;
}
if ( ! is_user_logged_in() ) {
return new WP_Error( 'rest_not_logged_in', 'Only authenticated users can access the REST API.', array( 'status' => 401 ) );
}
return $result;
});
Únete a mi círculo
Si quieres leer publicaciones sobre temas avanzados de WordPress y Gutenberg aprender a crear sitios web profesionales con WordPress, puedes registrarte en mi círculo y acceder a más contenido premium.
Deja una respuesta