Ocultar parte de una entrada a usuarios sin registrar en WordPress sin plugins

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:

Escribir un comentario