A veces puede ocurrir que tengamos la necesidad de ocultar cierto contenido de un articulo a usuarios que aun no se han registrado en nuestro blog de WordPress. Por ejemplo, suele ser frecuente que sí tenemos enlaces de descarga en una entrada del blog solo sea visible para los usuarios conectados consiguiendo así que se registren y fidelizarlos. Existen multitud de plugins, pero una vez más lo podemos conseguir sin penalizar la velocidad de carga escribiendo nosotros mismos el código.
Configuración
Pasos a seguir
El método para conseguir ocultar cierto texto de una entrada a un usuario sin registrar es por medio de shortcodes, pero primero debemos configurar nuestro shortcode personalizado. Ves al escritorio de tu blog WordPress y en el margen izquierdo selecciona Apariencia > Editor de temas
Escoge tu tema activo y abre el fichero functions.php.
Situate al final del archivo, en la última línea, y escribe el siguiente código:
//Shortcode para ocultar contenido //Creado por MiguelTroyano.com add_shortcode( 'exclusivo', 'ocultar_contenido' ); function ocultar_contenido( $atts, $content = null ) { if( is_user_logged_in() ) return '<p>' . $content . '</p>'; else return '<strong><p> Esta seccion es exclusiva para usuarios registrados. Inicia sesion con Google o Facebook desde el menu superior para leerlo. </p></strong>'; }
Explicación del código
Si observamos el código estamos creando un shortcode llamado exclusivo que cada vez que se escriba en una entrada ejecutara la función ocultar_contenido.
En la segunda línea creamos la función y en la cuarta le indicamos que si el usuarios esta conectado le mostremos el contenido y de lo contrario que muestre siguiente texto en negrita «Esta seccion es exclusiva para usuarios registrados. Inicia sesion con Google o Facebook desde el menu superior para leerlo».
Como usarlo
Usar este shortcode es muy sencillo. Solo debes crear un bloque antes del bloque que quieres ocultar y escribir el shortcode exclusivo, después hay que crear otro bloque después del bloque donde quieras dejar de ocultar con el shortcode /exclusivo. Ejemplo:
Resultado
Cuando un usuario acceda a tu blog y no este registrado el resultado será el siguiente: