• 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 los posts favoritos de los suscriptores en WordPress

Descubre en este tutorial cómo mostrar un listado de los posts favoritos de tus suscriptores mediante código.

Ya sabes que en Código Genesis puedes marcar tus tutoriales favoritos o más usados para tenerlos a un clic, ¿verdad?

Marcador de tutorial favorito
Tutorial marcado como favorito.

De hecho, a petición de varios suscriptores dediqué un tutorial en el que explicaba cómo crear un plugin que te permita hacerlo.

Si ya lo estás usando en algún proyecto seguro que lo que te voy a explicar hoy te interesa. Y si aún no lo estás aplicando es posible que después de hoy lo encuentres más interesante.

El plugin que creamos te permite que el suscriptor pueda visitar su cuenta y encontrar sus tutoriales favoritos de forma rápida y sencilla:

página tutoriales favoritos creado por plugin

Y en esto nuevo tutorial vas a ver cómo mostrar un TOP de los tutoriales que más suscriptores han decidido añadir como favorito. Interesante ¿verdad?

Seguro que ya tienes curiosidad por saber cuál es el top de Código Genesis. 😜

Sigue leyendo para saberlo y aplicarlo a tus proyectos.

Pasos para crear un listado con los posts favoritos de los suscriptores

1. Crea el shortcode

Vamos a optar por encapsular toda la lógica necesaria para mostrar el listado dentro de un shortcode, así podemos mostrarlo en cualquier punto de la web.

Añade el siguiente fragmento a tu plugin de funcionalidades:

Para ver este código y los otros 1837 snippets de esta web,
identifícate o suscríbete aquí.

El snippet anterior realiza varias funciones:

  • Un loop que recorre todos los usuarios y extrae los valores del metadato cg_favorite_post usando get_user_meta.
  • Como pueden ser varios por usuario, obtiene un array por cada usuario.
  • Junta todos los arrays usando array_merge.
  • Realiza un recuento para saber cuantas veces está cada post usando array_count_values.
  • Ordena el array de posts con más favoritos a menos gracias a arsort.
  • Una vez los datos están en el orden y formato que interesa, ejecuta otro loop en el que extrae el valor de los 10 primeros elementos del array con la función array_keys. Estos son el ID del post.
  • Con el ID de las entradas, obtiene el título y la URL y los coloca dentro de una lista ordenada.

Si estás usando tu propia versión del plugin y has utilizado otro nombre para el metadato que guarda las entradas favoritas, solo tienes que sustituir cg_favorite_post por el tuyo.

2. Añade el shortcode para mostrar las entradas favoritas de los suscriptores

Por último, si quieres que una página muestre los posts favoritos del usuario, añade en ella el shortcode [top_favorite_posts].

listado posts favoritos suscriptores Codigo Genesis
Top 10 de los tutoriales más «favoriteados» por los suscriptores

Ya lo tienes. Por cierto ¿Está alguno de tus favoritos en el top?

Ahora solo te queda enlazar esa página en el menú (o donde quieras) para que el usuario puede acceder de forma sencilla.

Conclusiones

Ahora ya sabes cómo mostrar un listado de los posts que tus suscriptores (o tus clientes) han guardado más veces como favoritos mediante un shortcode.

Además, este ejemplo te puede servir como guía para crear listados similares en base a otros metadatos. 😉

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

Entrada PHP WordPress

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 identificarte 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?