Usar login de wordpress externamente

amd2107 Seguir

Gamma
Programador
Verificación en dos pasos desactivada
Verificado por Whatsapp
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
2 May 2012
Mensajes
227
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:
 

amd2107

Gamma
Programador
Verificación en dos pasos desactivada
Verificado por Whatsapp
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
2 May 2012
Mensajes
227
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 :(
 

Lopezito

Zeta
Diseñador
Verificación en dos pasos activada
Verificado por Whatsapp
Desde
13 Dic 2011
Mensajes
1.538
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.
 

prog

Beta
Verificación en dos pasos desactivada
Desde
9 Oct 2014
Mensajes
51
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
 

amd2107

Gamma
Programador
Verificación en dos pasos desactivada
Verificado por Whatsapp
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
2 May 2012
Mensajes
227
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:
 

¡Regístrate y comienza a ganar!

Beneficios

  • Gana dinero por participar
  • Gana dinero por recomendarnos
  • Descubre ofertas de empleo diariamente
  • Negocios seguros
  • ¡Información premium y más!

Acceder

¿Ya tienes una cuenta? Accede aquí

Arriba