Aprende en este tutorial cómo mostrar solo las entradas a las que tiene acceso un suscriptor de Restrict Content Pro usando un shortcode.
El otro día un suscriptor de Código Génesis me sugirió crear un tutorial que combinara dos anteriores, concretamente:
- Mostrar en la página de archivos de un CPT solo las entradas a las que tiene acceso el suscriptor de RCP
- Mostrar una rejilla de entradas de un CPT mediante un shortcode
Es decir, poder mostrar, mediante un shortcode, únicamente las entradas a las que tiene acceso el suscriptor de Restrict Content Pro.
Además, podrás cambiar el parámetro que identifica al CPT de las entradas que vas a mostrar para poder personalizarlo para cualquier CPT.
Interesante ¿verdad?
Este sería el resultado final para un tipo de entrada:

¿Quieres ver otro? Sigue leyendo. 😉
Pasos para mostrar las entradas de CPT a las que tiene acceso un suscriptor de RCP mediante un shortcode
1. Restringe el acceso a las entradas del CPT por nivel de membresía
En primer lugar, debes restringir el acceso a las entradas del Custom Post Type dependiendo del nivel de membresía.
Para ello, solo tienes que usar la metabox que crea Restrict Content Pro al final de las entradas y seleccionar qué nivel de membresía da acceso a ese contenido.

2. Genera el shortcode con parámetros para mostrar las entradas del CPT a las que tiene acceso el suscriptor
Añade este snippet al final del fichero functions.php o a tu plugin de funcionalidades:
Para ver este código y los otros 1867 snippets de esta web,
identifícate o suscríbete aquí.
Con este código creas un loop con las entradas del CPT curso ('course'
), por defecto, o el CTP que tú elijas como veremos más adelante.
Los elementos que muestras son (por orden):
- Imagen destacada (enlazado a la entrada)
- Título (enlazado a la entrada)
- Excerpt o extracto
Y puedes modificar:
- El criterio para ordenar (en este caso por fecha)
- Orden descendente (en este caso DESC, pero puedes cambiar a ASC)
- Número de entradas que se muestran (en este caso 6).
Además, añades el condicional de rcp_user_can_access
para que solo muestre la entrada si el suscriptor de RCP tiene acceso a la misma.
Todo ello lo encapsulas dentro de un shortcode con add_shortcode
y le añades el parámetro 'cpt'
, para poder indicarle qué tipo de entrada quieres que muestre.
En este caso, si no pasas ningún parámetro al shortcode, el CPT por defecto será el de curso, pero si quieres que sea otro solo tienes que cambiarlo en: $default_atts = array( 'cpt' => 'course' )
;
Ya casi lo tienes.
3. Aplica diseño de rejilla al bucle de entradas (opcional)
Añade el siguiente fragmento al final del fichero style.css:
Para ver este código y los otros 1867 snippets de esta web,
identifícate o suscríbete aquí.
Con esto consigues mostrar las entradas en formato de rejilla. Puedes jugar con el valor del minmax (250px) para cambiar el número de columnas que se muestran.
Ahora solo te queda un paso.
4. Introduce el shortcode con el parámetro donde desees
La ventaja de los shortcodes es que puedes insertarlos en cualquier punto de la web.
Solo tendrás que escribir «[tu_shortcode]» donde quieras que se visualice.
En este caso, como tienes que indicar el parámetro del CPT del cual quieres que se muestren las entradas, el shortcode sería algo así: [contenido_suscriptor]
.
¿Quieres insertar las entradas de otro CPT? Entonces solo tienes que añadir el parámetro cpt=''
, con el nombre del CPT.
Por ejemplo, para mostrar las entradas del CPT de tutoriales, usarías este shortcode: [
. contenido_suscriptor
cpt='tutorial']
En definitiva, solo tienes que cambiar el parámetro del shortcode que identifica al CPT por el slug con el que registraste dicho Custom Post Type.
Conclusiones
Si quieres mostrar solo las entradas a las que tiene acceso un suscriptor de Restrict Content Pro usando un shortcode, ahora ya sabes cómo hacerlo.
¿Alguna duda? Te leo en los comentarios.
Y si quieres darme una sugerencia para próximos tutoriales, déjamela en el formulario de contacto. Ventajas de ser suscriptor. 😉