Hay algunos plugins por ahí que puedes utilizar si necesitas mostrar contenido exclusivo solo a usuarios registrados, pero Justin ha creado un tutorial muy completo de como hacerlo usando solamente 'shortcodes', esas pequeñas piezas de código que puedes añadir al fichero 'functions.php' de tu plantilla.
Vamos a ver como se hace, nos propone cuatro variables …
1. Contenido para usuarios que no están registrados
La mayoría del tráfico siempre proviene de usuarios no registrados (aunque en Ayuda WordPress somos casi 800 usuarios registrados) así que podemos definir contenido que se muestre solo a usuarios no registrados (y sin conectar). Esto puede servir para invitarles a registrarse, suscribirse al feed RSS, o simplemente mostrarles anuncios, tu eliges.
Abrimos el fichero 'functions.php' de nuestro theme activo y le añadimos este código:
-
add_shortcode( 'visitante', 'shortcode_para_visitantes' );
-
-
function shortcode_para_visitantes( $atts, $content = null ) {
-
return $content;
-
return '';
-
}
Luego, cuando escribas cualquier post o página, añade esto para mostrar contenido solo a usuarios que no estén conectados/registrados:
-
[visitante]
-
-
Aquí pones lo que te apetezca que quieras que vean solo los no registrados
-
-
[/visitante]
Ten en cuenta, eso si, que este contenido será visible también en el feed RSS, no como las siguientes dos técnicas, que no serán visibles en los feeds ni para usuarios no registrados
2. Contenido para usuarios registrados/conectados
En este caso vamos a mostrar cierto contenido solo a usuarios que estén registrados y conectados en tu sitio. El mimso estará oculto para el resto, y no se mostrará en los feeds.
De nuevo añadimos un pequeño codigo al fichero 'functions.php' de nuestro theme activo:
-
add_shortcode( 'miembro', 'shortcode_para_miembros' );
-
-
function shortcode_para_miembros( $atts, $content = null ) {
-
return $content;
-
return '';
-
}
De este modo, cuando añadas algo entre las nuevas tags [miembro] solo lo verán los registrados:
[php][miembro]
Contenido que solo ven los usuarios registrados/conectados.
[/miembro][/php]
3. Contenido dependiendo del perfil/capacidad de usuario
Este código es el más completo, ya que permite comprobar la capacidad del usuario y, basándose en su perfil, mostrar contenido de un tipo u otro. Incluso puedes añadir nuevos perfiles con el plugin Role Manager para rizar mas aún el rizo.
En esta ocasión, el código a añadir al fichero 'functions.php' es este:
-
add_shortcode( 'acceso', 'shortcode_segun_perfil' );
-
-
function shortcode_segun_perfil( $attr, $content = null ) {
-
-
-
return $content;
-
-
return '';
-
}
Ahora viene lo bueno, pues definiremos en el mismo shortcode a incluir en nuestros posts la capacidad del usuario, en este ejemplo sería la de switch_themes (an administrator in the default WordPress setup):
-
[acceso capability="switch_themes"]
-
-
Esto solo lo ven los administradores, o sea tu.
-
-
[/acceso]
Cuando definimos en el código del fichero 'functions.php' la capacidad de read solo marcamos la capacidad por defecto, luego, en cada shortcode, podemos añadir capacidades extra. Un ejemplo básico, en el que tendrían acceso todos los registrados sería este:
-
[acceso]
-
-
Me lees ¿no?
-
-
[/acceso]
4. Contenido para usuarios que no cumplan los requisitos
Estos shortcodes son fantásticos si quieres ocultar algo pero si quieres mostrar un mensaje a la gente a la que le ocultes "cosas" tienes que hacerles un pequeño cambio.
En cada uno de los códigos de arriba, justo antes de la última línea debes añadir esto:
-
return '';
En este caso, para el usuario que no tiene el perfil definido por el shortcode, no se le mostrará nada. Ahora bien, si quieres dejarle un mensaje haces un pequeño cambio::
-
return 'Lo siento, si te registras podrás ver mas cosas';
Y ya está, ahora eres tu el que tienes que animar a tus usuarios a registrarse y así poder disfrutar del contenido oculto: descargas, tutoriales, códigos, etc.















12 comentarios en “Contenido exclusivo a usuarios registrados con ’shortcodes’”
Información Bitacoras.com...
Valora en Bitacoras.com: Hay algunos plugins por ahí que puedes utilizar si necesitas mostrar contenido exclusivo solo a usuarios registrados, pero Justin ha creado un tutorial muy completo de como hacerlo usando solamente ?shortcodes?, esas pequeñas...
Es interesante pero.. no es la finalidad de un blog llegar a cuanta más gente mejor ?
No se hasta que punto es favorable o podrás influir en que la gente se registre. Supongo que dependerá del tipo de blog.
[...] Más opciones en AyudaWordpress. ← De Photoshop a XHTML/CSS paso a paso [...]
@quicoto la verdad es que puede ser muy útil en casos que quieras compartir algún contenido específico a los usuarios registrados como algún PDF, una contraseña para acceder a una descarga...
Saludos
Fernando, ¿para que solo puedan acceder al contenido los usuarios inscritos en el feed, cual código es?
Un saludo.
Pedro, ese no es un rol de WordPress así que no tienen código específico, sería el de read_posts, o sea todos
El código nº 2 no me funciona Fernando... quizás sea que no lo estoy pegando en el lugar correcto del fuctions.php; ¿¿podrás indicar ese detalle??
Conozco un plugin muy bueno para esto: Hidepost.
[...] Por: Justintadlock / Vía: AyudaWordPress [...]
[...] Por: Justintadlock / Vía: AyudaWordPress [...]
tengo que hacer un blog donde los usuarios pueden ver una seccion especial segun su rol, esto me sirve para ello?
y lo otro aprovechando necesito hacer lo mismo pero con el perfil, es posible hacer un perfil personalizado segun el rol?
saludos
[...] Si lo que quieres es añadir contenido privado en el texto de un post o página, en este blog explican como añadir unas funciones para crear shortcodes basadas en esta función: http://ayudawordpress.com/contenido-exclusivo-a-usuarios-registrados-con-shortcodes/ [...]
Escribe un Comentario
Comentarios adicionales gracias BackType
BuddyPress 1.2 está prácticamente lista para lanzarse salvo que las pruebas de los usuarios digan lo contrario. Ya puedes descargarla y empezar a comprobarla (enlace al svn). En esta nueva versión se han cerrado más de 125 tickets desde la última beta.
[#3]
Ya está disponible WordPress MU 2.9.1 y José Conti me avisa que en unas horas tendrá lista la traducción para poder tener actualizado y listo tu sitio multiusuario.
[#6]
¿Sabías que Kubrick, el tema que va a ser sustituido en 2010 lo creó un desarrollador danés?. Toda la historia de este tema, ya mítico, la tienes en este artículo (traducido con Google).
[#26]
Último mensaje de: Javier
En el foro: Plugins
Último mensaje de: francescorusso
En el foro: SEO - SEM
Último mensaje de: Em4-R
En el foro: Themes y Diseño
Último mensaje de: seijas
En el foro: Otros CMS
Último mensaje de: adriancon
En el foro: Plugins
Acceder