En un tutorial anterior, demostré cómo crear una plantilla de archivo para una taxonomía que listaste las entradas según el término de la taxonomía.
Este tutorial es similar en el sentido de que te muestra cómo separar las entradas en nuestros archivos, pero usa una estructura distinta y también una archivo de plantilla diferente. Te voy a enseñar ha crear una plantilla de archivo para una taxonomía que liste las entradas según que tipo de entradas sean, es decir, en base a su post type.
Esto podría ser útil en el caso de que hayas registrado un tipo de entrada que quieres mantener independiente del resto de entradas normales o de otro tipo de entrada concreta, pero seguir manteniendo una taxonomía válida para ambos tipos. Por ejemplo, si estás listando libros y artículos como tipos de entradas distintos, pero sigues teniendo temas comunes como taxonomía (por ej. ¡WordPress!).
En el ejemplo que voy a usar aquí, trabajaré con el tipo de entrada ‘animals’, tal y como hice en el anterior tutorial, pero esta vez también trabajaré con una entrada estándar. Listaré todos los animales usando el término de consulta y después listaré las entradas del blog con ese término.
1. Comienzo: Crear el tema
Crearé un tema hijo para el tema Twenty Fourteen, de manera que si estás usando los archivos fuente de este tutorial también necesitarás tener instalado ese tema en tu sitio web. En la hoja de estilo de mi tema, añado lo siguiente:
1 2 3 4 5 6 7 8 9 10 11 |
/* Theme Name: Crear un archivo de taxonomía para listar entradas según Post Type Theme URI: http://rachelmccollin.co.uk/wptutsplus-tax-archive-by-post-type/ Description: Theme to support WPTutsPlus tutorial on creating a custom taxonomy archive. Child theme for the Twenty Fourteen theme. Author: Rachel McCollin Author URI: http://rachelmccollin.co.uk/ Template: twentyfourteen Version: 1.0 */ @import url("../twentyfourteen/style.css"); |
Esto es todo lo que necesito para crear mi tema hijo. Si estás usando tu propio tema, puedes saltarte este paso.
2. Registrar el tipo de entrada y la taxonomía
Nota: Si has seguido mi otro tutorial sobre la creación de una plantilla de archivo para una entrada personalizada, puedes usar el tema que creaste ya que usa el mismo tipo de entrada y taxonomía. Solo tendrás que hacer una pequeña modificación que te indicaré en esta sección, y añadir un nuevo archivo para el archivo de la taxonomía.
El siguiente paso consiste en registrar el tipo de entrada ‘animal’ y la taxonomía ‘animal family’. Crea un archivo functions.php
para tu tema y añade en primer lugar la función para registrar el tipo de entrada:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
// registrar un custom post type llamado 'animals' function wptp_create_post_type() { $labels = array( 'name' => __( 'Animals' ), 'singular_name' => __( 'animal' ), 'add_new' => __( 'New animal' ), 'add_new_item' => __( 'Add New animal' ), 'edit_item' => __( 'Edit animal' ), 'new_item' => __( 'New animal' ), 'view_item' => __( 'View animal' ), 'search_items' => __( 'Search animals' ), 'not_found' => __( 'No animals Found' ), 'not_found_in_trash' => __( 'No animals found in Trash' ), ); $args = array( 'labels' => $labels, 'has_archive' => true, 'public' => true, 'hierarchical' => false, 'supports' => array( 'title', 'editor', 'excerpt', 'custom-fields', 'thumbnail', 'page-attributes' ), 'taxonomies' => array( 'post_tag', 'category'), ); register_post_type( 'animal', $args ); } add_action( 'init', 'wptp_create_post_type' ); |
Después, bajo este código, registra la taxonomía animal family.
Si estás trabajando con el tema que creamos en el tutorial anterior, tendrás que añadir array('animal,'post')
en los argumentos de tu función, dirigido solo a ‘animal’
.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
// registrar una taxonomia denominada 'Animal Family' function wptp_register_taxonomy() { register_taxonomy( 'animal_cat', array( 'animal', 'post' ), array( 'labels' => array( 'name' => 'Animal Families', 'singular_name' => 'Animal Family', 'search_items' => 'Search Animal Families', 'all_items' => 'All Animal Families', 'edit_item' => 'Edit Animal Families', 'update_item' => 'Update Animal Family', 'add_new_item' => 'Add New Animal Family', 'new_item_name' => 'New Animal Family Name', 'menu_name' => 'Animal Family', ), 'hierarchical' => true, 'sort' => true, 'args' => array( 'orderby' => 'term_order' ), 'rewrite' => array( 'slug' => 'animal-family' ), 'show_admin_column' => true ) ); } add_action( 'init', 'wptp_register_taxonomy' ); |
Guarda el archivo de tus funciones y comprueba como ahora aparecen tu nuevo tipo de entrada y tu taxonomía en el área de administración de tu sitio web.
Ahora añade información – yo he añadido algunos animales y entradas en la familia ‘Canines’.
Lo que te queda por leer:
-
3. Crear una plantilla de archivo
-
4. Identificar el objeto de la consulta
-
5. Mostrar el título para la página de archivo
-
6. El primer loop
-
7. El segundo loop
Deja una respuesta