Crear taxonomías en WordPress

Home » Blog » Crear taxonomías en WordPress

Una taxonomía es una forma de agrupar información. En WordPress tenemos en las entradas las taxonomías de categorías y etiquetas. Pero también podemos crear nuevas taxonomías para poder organizar contenido de forma más lógica.

Ejemplo de uso, si creamos un módulo que sea recetas podemos añadirle la opción de organizarlas mediante categorías o etiquetas, pero igual sería más lógico que el nombre fuese ingredientes o tipos de recetas, etc.

Estructura de la nueva taxonomía

La función que permite la creación de una nueva taxonomía es, register_taxonomy($name,$modulo, $parametros).

$name: nombre interno de la taxonomía.

$modulo: referencia al nombre interno al módulo donde se creará la taxonomía. (Módulo: recetas, taxonomía: ingredientes). De este modo tendremos un menú: Recetas, que contiene un bloque para catalogarlas por ingredientes, de este modo podemos dar de alta los ingredientes y luego cada receta asociarla a estos ingredientes.

$parametros.

  • hierarchical: permite anidar atributos.
  • Labels: permite definir los nombres que se mostrarán en el gestor.
  • Query_var: indica si se puede usar en las URL para ver todas las entradas de una taxonomía creada. Por ejemplo, si en ingredientes tenemos arroz, y establecemos query_va como true, podemos usar la URL: URL.com/?ingredientes=arroz. Mostrará todas las entradas etiquetadas como arroz.
  • Rewrite: su funcionamiento es el mismo que query_var() pero con urls amigables. Url.com/ingredientes/arroz
add_action('init', 'nueva_taxonomia');

funtion nueva_taxonomia(){

register_taxonomy('ingredientes','recetas',array('hierarchical' => true, 'label' => 'Ingredientes', ));

}

La creación debe producirse dentro de un conector init (que se ejecuta en la fase inicial de WordPress) y debemos crear antes el módulo al que mencionamos en $módulo (Recetas).

La visualización del gestor de la nueva taxonomía será similar a las categorías y etiquetas de una entrada. Y se añadirán a una entrada desde el alta o edición de la misma.

Utilizar la taxonomía

Wp_tag_cloud($parametros): permite crear una nube de etiquetas. Consulte los parametros aquí.

//Muestra una nube con 5 ingredientes
<?php wp_tag_cloud(array('taxonomy' => 'ingredientes', 'number' =>5));?>

WP_Query(): podemos mostrar las entradas de una taxonomía concreta en un plugin o en un tema.

//filtramos los contenidos de recetas, que tengan asignado el ingrediente arroz
$argumentos = array('post_type' => 'recetas', 'tax_query' => array(array('taxonomy' => 'ingredientes', 'terms' => 'arroz')));
$recetas_arroz=new WP_Query($argumentos);

Get_the_term_list($id, $taxanomyName, ‘titulo’, ‘,’, »): Muestra las etiquetas de una taxonomía de la entrada indicada. Se usa dentro del bucle, en el ejemplo ponemos el título de las etiquetas y las separamos por comas.

//Muestra todos los ingredientes de la receta que se esta visualizando
get_the_term_list($post->ID,'ingredientes','Ingredientes de la receta: ',',','');

Get_terms($taxanomyName): devuelve un array con todas las etiquetas de la taxonomía definida.

//Listado de todos los ingredientes
$ingredientes = get_terms('ingredientes');
foreach ($ingredientes as $ingrediente){
echo $ingrediente->name;
}

Más información en el codex:

https://codex.wordpress.org/Function_Reference/register_taxonomy



Foto de Iñigo Mezo Alvarez

IÑIGO MEZO ALVAREZ (IMAcreste)


Comentarios

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Las reseñas son opiniones que las personas dejan en la página local de Google. Si son positivas, estas reseñas ayudarán a mejorar la confianza y credibilidad de una marca.

Participa en nuestro sorteo enviando un email con tu nombre y el asunto «Sorteo AUDITORÍA SEO». Se realizara un sorteo cada mes.

Evaluación EXCELENTE
A base de 8 reseñas
Iñigo me ha asesorado con un problema que tenía para acceder a mi web y me ha salvado la vida, porque creía que había perdido todo el trabajo que llevaba haciendo años. Muchísimas gracias. Es gratificante encontarte con alguien que controla y te ayuda en los problemas que te pueden surgir.
Santutxu Zaharra
Santutxu Zaharra
11/06/2024
Gran profesional y muy competente, le contratamos para cambiar la web y mejorar el posicionamiento y gracias a su asesoramiento ha mejorado.
jorge martinez
jorge martinez
16/05/2024
Contactamos con Iñigo para el diseño web de nuestra tienda online y estamos encantados. Su asesoramiento, seguimiento y trato han sido excepcionales. Un verdadero crack. Recomendado al 100%. No dudes en ponerte en contacto con el.
erlantz rique
erlantz rique
19/02/2024
Un acierto quien elija a Iñigo. Autentico profesional, se preocupó en todo momento que entendiera el funcionamiento de la web. Me explicó todo las veces necesarias hasta entenderlo. Se preocupó y acertó en que la web tuviera lo que le pedí y lo hizo con creces. Muy contento con el servicio prestado. Una vez realizado el trabajo, cualquier duda que tengo me sigue ayudando. Lo recomiendo sin temor a equivocarme.
Jose Marlasca
Jose Marlasca
06/02/2024
Compromiso, implicación e innovación en los proyectos. Atento a las necesidades e incansable en la búsqueda de soluciones. Muy buena opción.
Jabier Fuertes Udaondo
Jabier Fuertes Udaondo
07/01/2024
Si buscas a alguien que además de hacer un diseño web moderno, responsivo y adaptado a tu sector, te explique por qué plantea el diseño web de esa manera y que te explique y ayude en posicionar tu web lo mejor posible en base a los objetivos fijados, ese es Iñigo Mezo y os lo recomiendo al 100%
Asier Hermoso
Asier Hermoso
03/01/2024
Genial trabajar con él! Además de ser muy buen profesional, experto y responsable, a destacar tanto su implicación en cada proyecto, así como su trato siempre cercano y su paciencia infinita ;) Un crack!!
itxaso zubia
itxaso zubia
15/12/2023
El plugin gratuito para integrar productos de Prestashop en Wordpress muy sencillo de utilizar y muy bien documentado, os felicito.
Fernando Cózar
Fernando Cózar
02/11/2023