hand Inicio
hand JSBloqs
hand GutenBloqs
Qu茅?
noched铆a

DESARROLLO WEB con
REACT y WORDPRESS

Ap煤ntate a la newsletter (escribo algo de tanto en cuanto)

C贸mo evitar que un usuario no sea capaz de visitar tu instalaci贸n WordPress?

100 palabras
1 minutos
March 15, 2020
blogwordpress

Necesitas ejecutar un c贸digo que compruebe si el usuario logeado tiene rol de administrador, y si no lo tiene, lo rediriges hacia donde tu quieras

Protegiendo tu WordPress

C贸mo evitar que un usuario no sea capaz de visitar tu instalaci贸n WordPress?

Quiz谩s una pregunta m谩s relevante ser铆a, por qu茅 querr铆as tal limitaci贸n?

La respuesta es clara, te interesa en caso de utilizar WordPress s贸lo como backend, es decir, como headless

O en otras palabras, que te interesa cuando tus usuarios no tengan que poder ver nada de WordPress porque su lugar est谩 en el front-end, en servicios como Netlify

Y en este caso, c贸mo les bloqueas el acceso al servidor WP, si es que de alg煤n modo acceden a 茅l?

Primero aclarar que su acceso ser铆a sin duda limitado (no tendr谩n rol de administrador), pero de cualquier modo no es un lugar al que deber铆an poder acceder

C贸mo evitarlo? Muy sencillo, basta con a帽adir una action que se ejecute siempre que un usuario visite cualquier p谩gina de tu WP (sea la presunta p谩gina web o el dashboard de administraci贸n), y en esa acci贸n preguntarse por los roles del usuario y en caso de que no sea administrador redirigirlo donde queramos

Es decir

  1. Hook que se ejecute siempre
  2. Consultar roles del usuario logeado
  3. Actuar en consecuencia

Y el c贸digo no podr铆a ser m谩s sencillo

php
function redirect_non_admin_users()
{
$url = 'https://www.kuworking.com';
if (get_current_user_id()) { // se ejecuta s贸lo si el usuario est谩 logeado
$user = get_userdata(get_current_user_id());
$user_roles = $user->roles; // accedemos a sus roles
if (!in_array('administrator', (array) $user_roles)) { // miramos si entre sus roles est谩 el de admin
wp_logout(); // le deslogeamos
wp_redirect($url); // le redirigimos
exit;
}
}
}
add_action('init', 'redirect_non_admin_users', 15);

Listos!

Qu茅 tal la entrada?

馃憣 Bien 馃檶馃檶
馃憤 Bien, pero algunas cosas podr铆an explicarse mejor 馃槵
馃し鈥嶁檪锔 Da por sentadas demasiadas cosas 馃槖
馃し鈥嶁檪锔 A ver, hay poca chicha 馃槵
馃し鈥嶁檪锔 Los ejemplos no son muy claros 馃檱鈥嶁檪锔
馃し鈥嶁檪锔 No se entiende, est谩 mal escrito 馃憥
鉁嶏笍 Hay errores, rev铆salo en cuanto puedas 馃檹
Enviar Feedback 鉁嶏笍
El texto est谩 en blanco!
Gracias por enviarme tu opini贸n
馃憤

Si quieres explorar m谩s cursos y m谩s entradas en el blog, los tienes todos en la p谩gina principal, y si el contenido te ha ayudado si lo compartes me ayudas a dar difusi贸n 馃憤

Privacidad
by kuworking.com
[ 2020 >> kuworking ]