Si su blog tiene un área restringida que no desea dar a conocer a todos los visitantes, solo para miembros, es posible que desee obligar a los usuarios a iniciar sesión antes de leer estas publicaciones. Afortunadamente, WordPress tiene una función incorporada que puede ayudarnos a hacer eso.
La función es auth_redirect (), así es como funciona: cuando se llama desde una página, comprueba si el usuario que ve la página está conectado. Si el usuario no está conectado, redirigido a la página de inicio de sesión. El usuario es redirigido de tal manera que, al iniciar sesión, será enviado directamente a la página a la que intentaban acceder originalmente.
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 el functions.php expediente:
function my_force_login() { global $post; if (!is_single()) return; $ids = array(188, 185, 171); // array of post IDs that force login to read 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, abra el header.php
file y coloque el siguiente código en la parte superior:
<?php my_force_login(); ?>
El código es simple, pero puedes Expandelo con más opciones como: requerir inicio de sesión en algunas categorías específicas, crear una página de opciones para ingresar fácilmente las ID de las publicaciones, etc.
La función auth_redirect () está disponible desde WordPress 1.5.