Forzar a los usuarios a iniciar sesión antes de leer publicaciones en WordPress

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.