• Saltar a la navegación principal
  • Saltar al contenido principal
Código Genesis

Código Genesis

Tutoriales de WordPress y Genesis Framework

  • Empieza aquí
  • Cuenta
    • Suscripción
    • Perfil
    • Actualizar tarjeta
    • Favoritos
    • Salir
  • Suscribirse
  • Acceder

Mostrar solo las entradas a las que tiene acceso el suscriptor de Restrict Content Pro

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:

Ejemplo que muestra solo los cursos a los que tiene acceso el suscriptor

¿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.

Seleccionar el nivel de membresía que da acceso.

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 1801 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 1801 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. 😉

CPT PHP Restrict Content Pro Shortcode

Nahuai Badiola

Desarrollador web especializado en WordPress y Genesis Framework. CEO de Código Genesis y cofundador de OsomPress (temas y plugins para WordPress).

Para dejar dudas o preguntas sobre este código, puedes login o suscribirte.

  • Empieza aquí
  • Sobre Código Genesis
  • Preguntas frecuentes
  • Contacto

Aviso legal · Política de privacidad · Política de cookies · Condiciones de contratación
Copyright © 2023 · Código Genesis

¿Has olvidado tu contraseña?