Hola, soy novato en esto y llevo bastantes horas dándole vueltas, el caso es que llevo bastante rato y no consigo dar con la solución, lo que quiero hacer es, cuando un usuario no esté logueado en mi web WordPress y navegue por la web, le redireccione siempre al index (www.dominio.com) tal cual, antes de ver cualquier contenido, sólo podrá ver el index (ahí hay un login), y si se logea, pueda navegar y ver el resto de la web.
He estado jugando con la función is_user_logged_in() pero lo único que he conseguido es que se redireccione, pero se crea un bucle en el index ya que redirecciona también el propio index a él mismo.
Esto es lo que he podido hacer, el caso es que sigue el bucle:
if(!is_user_logged_in() && get_site_url() != 'http://dominio.com/index.php') {
wp_redirect( 'http://dominio.com', 302 );
exit;
}
el get_site_url(), te trae el path completo?? o solo la Url base? (es decir con index.php)
No tienes permitido ver enlaces.
Registrate o Entra a tu cuenta
el get_site_url(), te trae el path completo?? o solo la Url base? (es decir con index.php)
Por lo que veo solo trae URL BASE
https://developer.wordpress.org/reference/functions/get_site_url/
<?php echo get_site_url(); ?>
Results in the full site URL being displayed:
http://www.example.com
Supongo que es por esto que no esta funcionando
No tienes permitido ver enlaces.
Registrate o Entra a tu cuenta
No tienes permitido ver enlaces.
Registrate o Entra a tu cuenta
el get_site_url(), te trae el path completo?? o solo la Url base? (es decir con index.php)
Por lo que veo solo trae URL BASE
https://developer.wordpress.org/reference/functions/get_site_url/
<?php echo get_site_url(); ?>
Results in the full site URL being displayed:
http://www.example.com
Supongo que es por esto que no esta funcionando
Entiendo, y cómo podría hacerlo?, he intentado con una variable y añadiendo el index.php al get_home_url, pero estamos en las mismas.
no tengo wordpress a mano, pero podrías probar con get_permalink(); ??
o bien podrias traerlo con php, $_server['SERVER_NAME'].$_server['REQUEST_URI'];
No tienes permitido ver enlaces.
Registrate o Entra a tu cuenta
no tengo wordpress a mano, pero podrías probar con get_permalink(); ??
o bien podrias traerlo con php, $_server['SERVER_NAME'].$_server['REQUEST_URI'];
Como podría integrar $_server['SERVER_NAME'].$_server['REQUEST_URI'] ¿?, gracias por la ayuda, apenas se nada.
No tienes permitido ver enlaces.
Registrate o Entra a tu cuenta
no tengo wordpress a mano, pero podrías probar con get_permalink(); ??
o bien podrias traerlo con php, $_server['SERVER_NAME'].$_server['REQUEST_URI'];
Lo que comenta, puedes encontrar una mejor descripción acá LINK (https://cybmeta.com/como-obtener-la-url-actual-en-php)
Puedes utilizar una variable como esta $url = $_SERVER["HTTP_HOST"] . $_SERVER["REQUEST_URI"]
para que te devuelva la PATH, son ejecutadas en PHP, por lo tanto puedes incluirla antes del IF
No tienes permitido ver enlaces.
Registrate o Entra a tu cuenta
No tienes permitido ver enlaces.
Registrate o Entra a tu cuenta
no tengo wordpress a mano, pero podrías probar con get_permalink(); ??
o bien podrias traerlo con php, $_server['SERVER_NAME'].$_server['REQUEST_URI'];
Como podría integrar $_server['SERVER_NAME'].$_server['REQUEST_URI'] ¿?, gracias por la ayuda, apenas se nada.
Bueno como lo menciona rush, debería quedarte así:
$url = 'http://'.$_SERVER["HTTP_HOST"] . $_SERVER["REQUEST_URI"];
Por cierto, no te funcionó el get_permalink(); ??
A ver si esto te ayuda:
http://www.wpbeginner.com/beginners-guide/how-to-make-your-wordpress-blog-completely-private/ (http://www.wpbeginner.com/beginners-guide/how-to-make-your-wordpress-blog-completely-private/)
http://www.esandra.com/como-hacer-wordpress-privado-con-y-sin-plugins/ (http://www.esandra.com/como-hacer-wordpress-privado-con-y-sin-plugins/)