Descubre en este tutorial cómo enseñar solo las entradas «padre» de un Custom Post Type (CPT) en la página de archivos mediante código.
Una de las ventajas de ser suscriptor de Código Genesis es que puedes hacer sugerencias para futuros tutoriales.
El otro día, Rodrigo me preguntaba lo siguiente:
Hola, Nahuai.
Te consulto cómo puedo hacer en un CPT de cursos para que cuando voy a ejemplo.com/cursos solo vea las entradas padres, no las hijas (que son lecciones).
Saludos.
En su caso, utiliza un CPT para los cursos y las lecciones son las «entradas hija» de los mismos.
Por defecto, en la página de archivos del CPT «curso» se van a mostrar tanto las entradas padre (cursos) como las hijas (lecciones).
Pero si te interesa mostrar solo las entradas «padre», tan solo debes usar el hook pre_get_posts junto a las etiquetas condicionales de WordPress.
Aquí tienes cómo hacerlo:
Código para mostrar únicamente las entradas «padre» de un CPT en la página de archivos
Añade el siguiente fragmento al final del fichero functions.php o a tu plugin de funcionalidades:
Para ver este código y los otros 2063 snippets de esta web,
identifícate o suscríbete aquí.
Con este bloque usas el hook pre_get_posts para indicar que en la página de archivos del Custom Post Type «cursos» (registrado como «course»), se visualicen solo las entradas padre.
En este caso usas la etiqueta condicional de WordPress is_archive (‘course’), pero puedes modificar este snippet a tu gusto, por ejemplo, sustituyendo el nombre del CPT «course» por el que quieras.
Conclusión
Ahora, gracias a las etiquetas condicionales de WordPress y el hook pre_get_posts, ya sabes cómo conseguir que solo aparezcan las entradas «padre» de un CPT en la página de archivos del mismo.
¿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. 😉