Deshabilitar la API REST de WordPress

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');
PHP

Deshabilitar 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;
});

Comentarios

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *