¿Cómo verificar si el usuario está en el panel de administración?

13 mar 2012, 07:27:36
Vistas: 40.4K
Votos: 22

En mi aplicación, tengo un formulario. Ahora, si el usuario está en el front-end quiero mostrar el título, pero si está en el back-end no quiero mostrarlo.

No quiero hacer la verificación basándome en el rol del usuario.

1
Comentarios

Esta respuesta parece abordar tu pregunta: https://wordpress.stackexchange.com/a/343592/43252

MastaBaba MastaBaba
5 mar 2023 20:03:00
Todas las respuestas a la pregunta 2
6
36

Utiliza is_admin(). Esta función verifica si estás viendo una página de Administración, es decir, el backend.

13 mar 2012 07:41:23
Comentarios

¿Funcionará para otros usuarios como los suscriptores?

Ajay Patel Ajay Patel
13 mar 2012 07:42:00

Sí. Funciona para todos los roles.

Rutwick Gangurde Rutwick Gangurde
13 mar 2012 07:42:42

¿Qué tal cargar un script en una página específica del administrador?

AlxVallejo AlxVallejo
27 dic 2012 03:01:55

El gancho de acción admin_print_scripts está diseñado para hacer eso.

Rutwick Gangurde Rutwick Gangurde
27 dic 2012 07:09:48

Es importante señalar que una solicitud ajax hará que esto devuelva TRUE.

Además, directamente en la documentación dice que esto no está destinado a ser utilizado como una verificación de seguridad.

Rebecca Dessonville Rebecca Dessonville
12 dic 2017 18:54:45

Esto ya no aplica a WordPress desde Gutenberg. Ahora, todas las pantallas que usan Gutenberg devolverán false al verificar is_admin. Lo mismo en el Personalizador. Y también cuando estás haciendo llamadas AJAX. is_admin es una función engañosa y mal utilizada. No puedes usarla para verificar de manera segura si estás en una pantalla de administración. Por lo tanto, tampoco puedes usarla para verificar si estás en el front-end, porque durante una llamada AJAX esta función devolvería true, ya que la función define por definición Determina si la solicitud actual es para una página de interfaz administrativa. Eso es cierto en una llamada ajax.

User User
23 ago 2021 08:23:07
Mostrar los 1 comentarios restantes
3
20

Utiliza is_admin() para verificar si la página actual es una página de administración. A pesar de su nombre, esto no es una verificación de rol de usuario. Siempre devuelve FALSE en el front-end, sin importar qué rol tenga el usuario.

13 mar 2012 07:40:16
Comentarios

Falso desde que el pésimo editor de bloques ha sido impuesto a la fuerza en la comunidad de WP: https://core.trac.wordpress.org/ticket/47394 Desde entonces, ya no puedes determinar de manera segura si estás en el área de administración o en el front-end.

User User
3 mar 2023 10:36:54

@BedaSchmid - ¿Cuál es la alternativa a is_admin?

Motivated Motivated
28 jun 2023 11:08:19

@Motivated no hay ninguna. Ahora tienes que hacer un MONTÓN de comprobaciones, como si es durante un evento AJAX, si es alguna pantalla específica, si es algo relacionado con la edición de bloques, si el usuario está logueado, si el usuario tiene los permisos... etc. Esto nunca fue diferente en términos de seguridad ya que is_admin NO comprueba si el usuario es admin o no, pero al menos te permitía saber genéricamente si estabas en el área de administración (excepto durante peticiones AJAX, donde siempre devuelve is_admin). Lo absurdo es que los editores de bloques te dicen is_admin FALSE, porque no se ejecutan "en el backend" sino a través de REST.

User User
29 jun 2023 04:30:37