Wordpress

Cómo restringir el contenido a usuarios no registrados wordpress

Para hacerlo crearemos un shortcode con el cual podremos envolver el contenido que queremos ocultar. Si el usuario no está logueado, le aparecerá un mensaje que nosotros elijamos pero si está logueado podrá ver el contenido sin problema.

Seguiremos estos sencillos pasos:

1. Accedemos al archivo functions.php en el directorio de nuestro tema (método no recomendado) o a nuestro plugin de snippets (método recomendado).

2. Creamos un snippet y pegamos el siguiente código:

add_shortcode( 'privado', 'bp_contenido_privado' );

function bp_contenido_privado( $atts, $content = null ) {
   if ( is_user_logged_in() && !is_null( $content ) && !is_feed() )
   return $content;
   return '<p class="privado">Este contenido esta reservado para los usuarios registrados. Registrate <a href="'.wp_registration_url().'">aquí</a> para poder verlo.</p>';}

Lo que hará esta función es exactamente lo que hemos dicho antes: devolver el contenido si el usuario ha iniciado la sesión o mostrar el mensaje de contenido restringido si el usuario no esta logueado.

3. Ahora para hacer la prueba vamos a crear una entrada y envolvemos el contenido que queremos restringir con los shortcodes [privado] [/privado].