Muchas personas piensan en WordPress como una herramienta de blogs, principalmente porque tiene publicaciones, categorías, etiquetas, etc. Lo que la mayoría de la gente no sabe es que todas las publicaciones, categorías y etiquetas pueden ser reemplazadas por tipos de publicaciones personalizadas y taxonomías personalizadas. En este artículo, le mostraremos cómo crear taxonomías personalizadas en WordPress y cómo mostrar taxonomías personalizadas en su tema de WordPress.

¿Qué es una taxonomía?

La taxonomía en WordPress es una de esas cosas que todos usan, pero no saben que lo están usando. Derivado del método de clasificación biológica taxonomía de Linnaean, las taxonomías de WordPress se usan como una forma de agrupar publicaciones y tipos de publicaciones personalizadas juntas. WordPress tiene dos taxonomías muy populares que la gente usa de forma regular: Categorías y etiquetas (Leer: Categorías vs. Etiquetas: Mejores prácticas). Puede usar taxonomías personalizadas para crear grupos personalizados y ponerlos bajo un mismo paraguas. Por ejemplo, tiene un tipo de publicación personalizada llamada Libros. Aunque puede usar categorías, puede que no desee mezclar las dos porque se usan de manera diferente. Puede registrar una nueva taxonomía personalizada llamada Temas. Puede agregar términos temáticos como: aventura, romance, no ficción, etc. Esto le permitiría a usted y a sus usuarios ordenar sus libros por cada tema. Las taxonomías también pueden ser jerárquicas, lo que significa que puede tener temas principales como: ficción, no ficción y niños. Luego, tenga subtemas debajo de cada categoría, por ejemplo, la ficción tendría thrillers como un subtema.

Ahora que ya sabe qué es una taxonomía personalizada, aprendamos cómo crear taxonomías personalizadas en WordPress. Utilizaremos dos métodos para crear taxonomías personalizadas. El Método 1 utilizaría un complemento para aquellos que eligen no tratar con el código. El método 2, por otro lado, sería el método de código para aquellos que prefieren hacer todo sin un complemento.

Crear taxonomías personalizadas: la manera más fácil

Comencemos creando una taxonomía personalizada. Primero, necesita instalar y activar el plugin de WordPress de Taxonomía simple. Ir Configuraciones »Taxonomías personalizadas para crear una nueva taxonomía:

Crear una taxonomía personalizada en WordPress

La primera parte de crear una taxonomía personalizada es darle un nombre, que debe ser todo en minúsculas y sin caracteres extraños. La segunda opción es si esta taxonomía será jerárquica o no. Si desea crear una taxonomía como categorías donde puede agregar un término primario y secundario, elija True, de lo contrario, elija false si desea agregar términos como etiquetas.

La tercera opción es asociar esta taxonomía con un tipo de publicación y la última opción es si desea agregar o no términos automáticamente, elija ninguno.

Pero aún no hemos terminado. Supongamos que está creando una taxonomía y llamándola Temas. Ahora necesita decirle a WordPress cómo debe traducir la interfaz de usuario para los temas.

Traducir taxonomía para UI

Después de proporcionar traducciones para la interfaz de usuario, presione el botón Agregar taxonomía. Una vez que se crea una taxonomía personalizada, aparecerá en Publicaciones y tendrá una interfaz similar, como Categorías o Etiquetas. También el campo de taxonomía personalizada también aparecerá en el área de edición posterior.

Taxonomía personalizada en el área Editar publicación

Creación manual de taxonomías personalizadas

Agregue el siguiente código en su tema functions.php archivo o en un complemento específico del sitio (recomendado) para crear una taxonomía personalizada jerárquica como categorías:

// enganchar en la acción init y llamar a create_book_taxonomies cuando se dispara
 add_action ('init', 'create_topics_hierarchical_taxonomy', 0);

 // crea un nombre de taxonomía personalizada para sus publicaciones

 function create_topics_hierarchical_taxonomy () {

 // Agregar nueva taxonomía, hacerla jerárquica como categorías
 // primero hago la parte de traducciones para GUI

   $ labels = array (
     'nombre' => _x ('Temas', 'nombre general de la taxonomía'),
     'singular_name' => _x ('Topic', 'taxonomía nombre singular'),
     'search_items' => __ ('Temas de búsqueda'),
     'all_items' => __ ('Todos los temas'),
     'parent_item' => __ ('Tema principal'),
     'parent_item_colon' => __ ('Tema principal:'),
     'edit_item' => __ ('Editar tema'),
     'update_item' => __ ('Actualizar tema'),
     'add_new_item' => __ ('Agregar nuevo tema'),
     'new_item_name' => __ ('New Topic Name'),
     'menu_name' => __ ('Temas'),
   );

 // Ahora registre la taxonomía

   register_taxonomy ('topics', array ('post'), array (
     'hierarchical' => verdadero,
     'labels' => $ labels,
     'show_ui' => verdadero,
     'show_admin_column' => true,
     'query_var' => verdadero,
     'rewrite' => array ('slug' => 'tema'),
   ));

 } 

Para crear una taxonomía personalizada no jerárquica como Etiquetas, agregue este código en el tema functions.php o en un complemento específico del sitio:

// enganchar en la acción init y llamar a create_topics_nonhierarchical_taxonomy cuando se dispara

 add_action ('init', 'create_topics_nonhierarchical_taxonomy', 0);

 function create_topics_nonhierarchical_taxonomy () {

 // Etiqueta parte para la GUI

   $ labels = array (
     'nombre' => _x ('Temas', 'nombre general de la taxonomía'),
     'singular_name' => _x ('Topic', 'taxonomía nombre singular'),
     'search_items' => __ ('Temas de búsqueda'),
     'popular_items' => __ ('Temas populares'),
     'all_items' => __ ('Todos los temas'),
     'parent_item' => null,
     'parent_item_colon' => null,
     'edit_item' => __ ('Editar tema'),
     'update_item' => __ ('Actualizar tema'),
     'add_new_item' => __ ('Agregar nuevo tema'),
     'new_item_name' => __ ('New Topic Name'),
     'separate_items_with_commas' => __ ('Separar temas con comas'),
     'add_or_remove_items' => __ ('Agregar o eliminar temas'),
     'choose_from_most_used' => __ ('Elegir entre los temas más usados'),
     'menu_name' => __ ('Temas'),
   );

 // Ahora registra la taxonomía no jerárquica como una etiqueta

   register_taxonomy ('topics', 'post', array (
     'hierarchical' => falso,
     'labels' => $ labels,
     'show_ui' => verdadero,
     'show_admin_column' => true,
     'update_count_callback' => '_update_post_term_count',
     'query_var' => verdadero,
     'rewrite' => array ('slug' => 'tema'),
   ));
 } 

Observe la diferencia entre dos códigos. El valor para el argumento jerárquico es verdadero para taxonomía tipo categoría y falso para taxonomías tipo etiquetas. También en el conjunto de etiquetas para taxonomía no jerárquica de etiquetas similares, hemos agregado argumentos null para parent_item y parent_item_colon, lo que significa que no se mostrará nada en la interfaz de usuario para crear elementos principales.

Exhibiendo taxonomías personalizadas

A continuación, le mostramos cómo puede mostrar los términos que agregó a una taxonomía personalizada en su página de publicación individual. Agregue esta única línea de código en su single.php archivo dentro del ciclo:

ID, 'temas', 'Temas:', ',', '');  ?> 

Puede agregarlo también en otros archivos como archive.php, index.php y en cualquier otro lugar donde desee mostrar la taxonomía.

Por defecto, sus taxonomías personalizadas usan archive.php plantilla para mostrar publicaciones. Sin embargo, puede crear una visualización de archivo personalizada para ellos creando taxonomía- {taxonomía-slug} .php .

Las taxonomías personalizadas se pueden usar de muchas maneras. Combínelos con tipos de publicaciones personalizadas y cuadros de metadatos personalizados, y puede crear un sistema de gestión de contenido (CMS) altamente personalizado y diseñado para satisfacer sus necesidades. Háganos saber cómo está utilizando taxonomías personalizadas en sus sitios web.