Si su blog tiene un área restringida que no desea publicar para todos los visitantes, solo para miembros, entonces es posible que desee obligar a los usuarios a iniciar sesión antes de leer estos mensajes . Afortunadamente, WordPress tiene una función incorporada que puede ayudarnos a hacer eso.

WordPress: obliga a los usuarios a iniciar sesión antes de leer publicaciones

La función es auth_redirect (), así es como funciona: cuando se llama desde una página, se comprueba para ver si el usuario que está viendo la página ha iniciado sesión. Si el usuario no está conectado, son redirigido a la página de inicio de sesión . El usuario se redirige de tal manera que, al iniciar sesión, estarán enviado directamente a la página a la que originalmente intentaban acceder .

Al usar esta función, podemos implementar nuestro código que verifica si la publicación está restringida o no, y redirigir a los usuarios a la página de inicio de sesión si es necesario.

Simplemente pegue el siguiente código en su tema functions.php archivo:

function my_force_login () {
     global $ post;

     if (! is_single ()) return;

     $ ids = array (188, 185, 171);  // conjunto de ID de publicación que fuerzan el inicio de sesión para leer

     if (in_array ((int) $ post-> ID, $ ids) &&! is_user_logged_in ()) {
     auth_redirect ();
     }
     } 

Cambie la matriz de ID de publicación para que se ajuste a sus necesidades. Después de eso, abre el header.php archiva y coloca el siguiente código en la parte superior:


El código es simple, pero puedes Expandelo con más opciones como: requiere iniciar sesión en algunas categorías específicas, crear una página de opciones para facilitar el ingreso de ID de entrada, etc.

La función auth_redirect () está disponible desde WordPress 1.5.