Proteccion script con login de wordpress para administradores

  • Autor Autor amd2107
  • Fecha de inicio Fecha de inicio
amd2107

amd2107

Gamma
Programador
Verificado por Whatsapp
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Buenas gente tengo una duda y no se si puedan ayudarme, hice un script que modifica una parte de la BD de wordpress, pero lo que pasa es que quiero que ese script este protegido por el login de wordpress osea que solo los administradores puedan accederlo y que cuando no sea un administrador de un error etc..el problema es que no se como enlazar el script y no se que archivos cargarle desde wordpress alguien puede hecharme una mano explicandome como hacer esto?

Para ser mas especifico de lo que quiero:

PHP:
if (current_user_can( 'manage_options' )){

//AQUI MUESTRA EL SCRIPT


} else {

//AQUI REDIRIGE ERROR 404

}

Pero no se que debo llamar desde el wordpress para que me funcione o si debo definir alguna ruta o algun parametro!

Espero que alguien me pueda hechar una mano!

Gracias y saludos!!! :encouragement:
 
prueba con esto

PHP:
if ( is_user_logged_in() and is_admin() ) { ... }
 
prueba con esto

PHP:
if ( is_user_logged_in() and is_admin() ) { ... }

Gracias por tu respuesta, estuve viendo y la funcion is_admin es para detectar si esta dentro del administrador pero aun así no se cuales archivos llamar para que me funcione el sistema, osea no si si debo de llamar a wp-config o wp-load o algo en especifico 🙁
 
Gracias por tu respuesta, estuve viendo y la funcion is_admin es para detectar si esta dentro del administrador pero aun así no se cuales archivos llamar para que me funcione el sistema, osea no si si debo de llamar a wp-config o wp-load o algo en especifico 🙁

is_admin es para saber si es admin el usuario con el que está logeado al sitio.

Nunca he hecho lo que pides, pero sugiero probar con lo que dice aquí: https://wordpress.org/support/topic...s-login-from-external-php-script#post-1120767

Parece que solo precisas llamar al archivo wp-blog-header.php en tu script, y luego puedes usar funciones como is_logged_in e is_admin.
 
Perdona, es cierto que is_admin, dentro del panel de control, puede que no te funciones, entonces prueba con esta

if ( current_user_can('delete_themes') ) {

//lo que quieras mostrar

}

Creo que te convendria implementar tu script en una nueva seccion del menu de wordpress, como si fuera un menu de opciones de theme, creo que te ahorrara mas de un dolor de cabeza.

Aqui un ejemplo simple de como crear un menu, es de opciones de theme, pero para que pilles la idea.
Crear un panel de opciones para un template de Wordpress
 
is_admin es para saber si es admin el usuario con el que está logeado al sitio.

Nunca he hecho lo que pides, pero sugiero probar con lo que dice aquí: https://wordpress.org/support/topic...s-login-from-external-php-script#post-1120767

Parece que solo precisas llamar al archivo wp-blog-header.php en tu script, y luego puedes usar funciones como is_logged_in e is_admin.

Cito textualmente:
Insertar CODE, HTML o PHP:
This Conditional Tag checks if the Dashboard or the administration panel is attempting to be displayed. It should not be used as a means to verify whether the current user has permission to view the Dashboard or the administration panel (try current_user_can() instead). This is a boolean function that will return true if the URL being accessed is in the admin section, or false for a front-end page.

Con eso hago constar que la funcion is_admin() es para saber si esta en el back end!

Con respecto a la otra pagina de algo me sirvio pero no de mucho, porque en todas las formas que intente hacer que detectara la funcion no lo logre! 🙁

Perdona, es cierto que is_admin, dentro del panel de control, puede que no te funciones, entonces prueba con esta

if ( current_user_can('delete_themes') ) {

//lo que quieras mostrar

}

Creo que te convendria implementar tu script en una nueva seccion del menu de wordpress, como si fuera un menu de opciones de theme, creo que te ahorrara mas de un dolor de cabeza.

Aqui un ejemplo simple de como crear un menu, es de opciones de theme, pero para que pilles la idea.
Crear un panel de opciones para un template de Wordpress

Gracias pero al final mi mejor opcion fue crear un nuevo script el cual se conecte a la BD de wordpress y crear una tabla nueva con solo un usuario y un password que fue lo que requeria en el momento 🙂

Gracias a ambos por sus respuestas ! :encouragement:
 
Atrás
Arriba