¿Quieres desbloquear aún más poder de organización en WordPress? Prueba a añadir campos de metadatos personalizados a tus taxonomías personalizadas.
Las taxonomías personalizadas te permiten organizar tu contenido más allá de las categorías y las etiquetas. Pero a veces, encontramos útil añadir detalles y campos adicionales para describirlas, que es donde entran los campos de metadatos personalizados.
En este artículo, te mostraremos cómo añadir campos de metadatos adicionales a tus taxonomías personalizadas en WordPress.

¿Cuándo deberías añadir campos de metadatos personalizados a una taxonomía personalizada?
Cuando creas contenido nuevo en tu sitio web de WordPress, puedes organizarlo utilizando las dos taxonomías predeterminadas, categorías y etiquetas.
Algunos sitios web se benefician del uso de taxonomías personalizadas. Estas te permiten clasificar tu contenido de formas adicionales.
Por ejemplo, un sitio web que publica reseñas de libros podría añadir las taxonomías 'Temas' y 'Autores' para que los visitantes puedan encontrar rápidamente las reseñas que les interesan.
Para más información, consulta nuestra guía sobre cómo crear taxonomías personalizadas en WordPress.
Cada taxonomía tiene solo tres o cuatro campos por defecto: nombre, slug, padre (si es jerárquica) y descripción.

A veces es útil agregar campos adicionales para describir mejor la taxonomía. Por ejemplo, podrías agregar un campo de 'año de nacimiento' a una taxonomía de 'autores'.
Dicho esto, aquí te explicamos cómo agregar campos meta personalizados a taxonomías personalizadas en WordPress.
Paso 1: Agregar campos meta personalizados a taxonomías personalizadas en WordPress
Primero, necesitas instalar y activar el plugin Advanced Custom Fields. Para obtener más información, consulta nuestra guía paso a paso sobre cómo instalar un plugin de WordPress.
A continuación, dirígete a la página Campos Personalizados » Agregar Nuevo. Aquí, puedes agregar un grupo de campos que contenga uno o más campos nuevos.
Se te pedirá que le des un título al grupo de campos, y este se mostrará junto con los nuevos campos al agregar o editar la taxonomía. En este tutorial, queremos agregar un campo personalizado a la taxonomía de Autores, así que nombraremos el grupo de campos 'Detalles del Autor'.

Una vez que hayas hecho eso, deberías hacer clic en el botón '+ Agregar Campo' para añadir un campo. Aparecerá un nuevo formulario donde puedes completar los detalles del nuevo campo.
Una vez que ingreses una etiqueta de campo, el nombre del campo se creará automáticamente y podrás editarlo si lo deseas. Necesitarás usar el nombre del campo más adelante en el tutorial, así que anótalo.

Ahora deberías completar los otros detalles para el campo, como el tipo de campo, las instrucciones para tus autores que llenarán el formulario, y si este campo es obligatorio. Otras opciones que no se muestran en la captura de pantalla incluyen texto predeterminado, texto de marcador de posición, límite de caracteres y más.
Si deseas agregar un segundo campo, entonces deberías hacer clic en el botón ‘+ Agregar campo’ y repetir el proceso. De lo contrario, simplemente desplázate hacia abajo hasta la sección Ubicación.
Aquí, puedes crear reglas que describan dónde mostrar el nuevo campo. Deberías seleccionar ‘Taxonomía’ del primer menú desplegable y dejar el campo del medio como ‘es igual a’. Finalmente, selecciona la taxonomía personalizada correcta para el último campo. En este tutorial, seleccionaremos ‘Autor’.

Si deseas agregar este campo a otra taxonomía, entonces puedes hacer clic en el botón ‘Agregar grupo de reglas’ y repetir el paso.
Ahora deberías ajustar cualquier otra configuración en la página. Simplemente dejaremos los valores predeterminados. Una vez que hayas terminado, deberías desplazarte hasta la parte superior de la página y hacer clic en el botón ‘Publicar’.

¡Felicidades, has agregado exitosamente un campo meta personalizado a una taxonomía personalizada en WordPress. Pero aún te queda algo de trabajo por hacer.
Paso 2: Agregar datos al nuevo campo meta personalizado
Si bien la taxonomía tiene un nuevo campo, aún no contiene ningún dato. Deberías tomarte un tiempo para hacerlo ahora.
En nuestro ejemplo, necesitamos ingresar el año de nacimiento de cada autor. Para hacerlo, debemos navegar a Publicaciones » Autores y hacer clic en el nombre del autor que deseamos editar.

Después de eso, podemos ingresar datos en el nuevo campo. En este caso, ingresaremos el año de nacimiento de ese autor. No olvides hacer clic en el botón 'Actualizar' para guardar los nuevos datos.

Deberías seguir los mismos pasos en tu sitio web para agregar datos a tu taxonomía personalizada.
Cuando hayas terminado, todavía queda un paso. Si bien puedes ver el campo personalizado cuando inicias sesión en tu área de administración de WordPress, los visitantes de tu sitio web no podrán verlo. Necesitarás agregar el campo a la página de archivo de la taxonomía personalizada.
Paso 3: Mostrar un campo meta personalizado en la página de archivo de tu taxonomía
En este paso, necesitarás agregar código a los archivos de tu tema. Si no lo has hecho antes, consulta nuestra guía para principiantes sobre cómo pegar fragmentos de la web en WordPress.
Lo primero que debes hacer es ir a la carpeta de tu tema y buscar el archivo de archivo de tu taxonomía. Tendrá un nombre como taxonomy-TUNOMBREDETAXONOMIA.php.
Por ejemplo, si tienes una taxonomía personalizada llamada ‘autores’, entonces necesitas buscar un archivo llamado taxonomy-authors.php.
Si no ves ese archivo, busca archive.php. Necesitarás hacer una copia de ese archivo y nombrarlo como se describe arriba.
Nota: Si tu tema no incluye archive.php, probablemente estés usando un framework de temas de WordPress y tendrás que crear el archivo de taxonomía manualmente. Un buen punto de partida para aprender a crear archivos de archivo es nuestra guía sobre cómo crear páginas de archivo personalizadas en WordPress.
Ahora necesitas agregar el siguiente código al archivo de taxonomía justo antes del loop:
<?php
// get the current taxonomy term
$term = get_queried_object();
// get the taxonomy meta field
$taxonomymetafield = get_field('FIELDNAME', $term);
// display the taxonomy meta field
echo $taxonomymetafield;
?>
Ten en cuenta que necesitas reemplazar ‘NOMBRECAMPO’ con el nombre real del campo que creaste anteriormente. Recuerda que te pedimos que lo anotaras.
En nuestro ejemplo, el nombre del campo es ‘año_de_nacimiento’. También agregaremos una descripción, para que nuestros visitantes entiendan qué significa el campo. Así que agregaremos el siguiente código al archivo de taxonomía taxonomy-authors.php:
<?php
// get the current taxonomy term
$term = get_queried_object();
// get the taxonomy meta field
$taxonomymetafield = get_field('year_of_birth', $term);
// display the taxonomy meta field
echo "Year of birth: ";
echo $taxonomymetafield;
?>
Así es como se veía cuando lo probamos en nuestro sitio de demostración:

Esperamos que este tutorial te haya ayudado a aprender cómo agregar campos meta personalizados a taxonomías personalizadas en WordPress. También podrías querer aprender cómo agregar palabras clave y meta descripciones en WordPress, o consultar nuestra lista de plugins de WordPress imprescindibles para hacer crecer tu sitio.
Si te gustó este artículo, suscríbete a nuestro canal de YouTube para obtener tutoriales en video de WordPress. También puedes encontrarnos en Twitter y Facebook.


Tarek Anandan
Si no puedes mostrar tus datos y estás usando una versión reciente de WordPress, usa get_term_meta() en lugar de get_tax_meta().
Subin
aquí está mi código:
$config = array(
‘id’ => ‘tax_meta_box’, // id de la caja de metadatos, único por caja de metadatos
‘title’ => ‘Caja de Metadatos de Impuestos’, // título de la caja de metadatos
‘pages’ => array(‘category’), // nombre de la taxonomía, acepta categorías, post_tag y taxonomías personalizadas
‘context’ => ‘normal’, // dónde aparece la caja de metadatos: normal (predeterminado), avanzado, lateral; opcional
‘fields’ => array(), // lista de campos de metadatos (se pueden agregar mediante arreglos de campos)
‘local_images’ => false, // Usar imágenes locales o alojadas (imágenes de la caja de metadatos para agregar/eliminar)
‘use_with_theme’ => get_template_directory_uri() . ‘/Tax-Meta-Class/Tax-meta-class’
);
/*
* Inicia tu caja de metadatos
*/
$my_meta = new Tax_Meta_Class($config);
//Campo de imagen
$my_meta->addImage(‘image_field’,array(‘name’=> __(‘Mi Imagen ‘,’tax-meta’)));
$my_meta->Finish();
———————————————————————————————————————–
term_id;
$saved_data = get_tax_meta($term_id,’image_field’,true);
echo ”;
echo $term_id; // Muestra '1' que es el ID de la categoría
echo $saved_data; // ¡No muestra nada! Me pregunto por qué!!
exit;
?>
James Dower
También estoy teniendo problemas para obtener la ruta de una imagen subida. Simplemente muestra:
Arreglo
…los campos de texto están bien.
Estoy usando:
$prefix = ‘ttp_’;
$my_meta->addImage($prefix.’logo_id’,array(‘name’=> __(‘Logo’,’tax-meta’)));
Y en la página taxonomy.php:
$logo = get_tax_meta($term->term_id, ttp_logo_id);
¿Alguien puede ayudar por favor? ¡He estado en esto por HORAS!
James Dower
…¿y alguien puede explicar cómo mostrar campos repetidores?!
James Dower
Para todos los que tienen problemas para que esto se lea, encontré una comilla suelta, esto me funciona a mí:
$data = get_tax_meta($term->term_id, ba_text_field_id); echo $data;
siva
Hola equipo, muchísimas gracias...
Ketan
Hola,
Activé el plugin, pero no veo dónde puedo agregar un campo de taxonomía personalizado en el lado del administrador. Por favor, respóndame.
Gracias, Ketan.
Francisco
Thanks a lot this has been very useful!!!!
Muestro correctamente un campo de texto usando este código: // Obtener el ID de taxonomía correcto por slug $term = get_term_by( 'slug', get_query_var( 'term' ), get_query_var( 'taxonomy' ) );
// Obtener Meta de Taxonomía $saved_data = get_tax_meta($term->term_id,'ba_text_field_id'); echo $saved_data;
PERO NECESITO MOSTRAR TAMBIÉN UNA IMAGEN, ESTOY USANDO ESTE CÓDIGO PHP EN MI PLANTILLA:
// Obtener el ID de taxonomía correcto por slug $term = get_term_by( 'slug', get_query_var( 'term' ), get_query_var( 'taxonomy' ) );
// Obtener Meta de Taxonomía $saved_data = get_tax_meta($term->term_id,'ba_image_field_id'); echo $saved_data;
But it doesn’t display anything!
Solo muestra una palabra: “array”
¿Qué podría estar mal?
David Beastall
Gracias por eso, el tutorial parece incompleto en mi opinión.
Hemanta Chakladar
Yo también estoy buscando eso.
Hemanta Chakladar
Estoy atascado.
Veo la opción de metadatos en la categoría de WordPress y no en mi taxonomía personalizada. ¿Dónde puedo agregar esta opción para añadir metadatos personalizados en mi taxonomía personalizada? ¿Dónde está definido eso?
Marco Panichi
¿Cómo agregar una casilla de verificación múltiple para seleccionar uno o más usuarios?
Ankur
Hola Marco, ¿recibiste alguna respuesta al respecto? Yo también estoy buscando la misma funcionalidad.
Joe Chow
Muchas gracias. Veo que hay un montón de campos que se muestran en la categoría de publicación. Sin embargo, solo quiero saber cómo hacer que el código se use solo para la categoría de productos de WooCommerce.
¿Alguien puede darme un consejo?
Joe
¿Cómo obtendrías la información de la taxonomía en una plantilla de página personalizada en lugar de una página taxonomy.php?
Jason Gateman
¡Gracias por este tutorial! ¿Cómo hago para que los metadatos se muestren en una página de publicación personalizada que he creado, en lugar de solo en la página de taxonomía?
AD
Hola a todos,
Para aquellos que tienen problemas para mostrar el contenido que se ha guardado. Usa el prefijo delante de la clave.
//Obtener metadatos de taxonomía
$saved_data = get_tax_meta($term->term_id,'text_field_id');
echo $saved_data;
Debería ser ba_text_field_id (Dado que el prefijo es ba_).
Espero que esto ayude. Saludos.
Dan
Quería respaldar este comentario, ya que puede ser bastante desconcertante averiguar por qué el ejemplo no funciona. Si miras en el archivo “Tax meta class” verás que en la parte superior Ohad define una variable $prefix que se agrega a cada función de guardado.
Así que, para que el resultado se muestre, necesitas incluir el prefijo. Puedes establecer el prefijo a lo que quieras, incluido “”. No tengo idea de qué significa “ba_”, pero eso es lo que está ahí por defecto.
El ejemplo debería decir:
$saved_data = get_tax_meta($term->term_id,’ba_text_field_id’);
Chris
¡Muchas gracias! Funciona muy bien. Me ahorraste mucho tiempo de codificación.
Ante
Ok, estoy atascado.
//Obtener el ID de taxonomía correcto por slug
$term = get_term_by( ‘slug’, get_query_var( ‘term’ ), get_query_var( ‘taxonomy’ ) );
//Obtener metadatos de taxonomía
$saved_data = get_tax_meta($term->term_id,'text_field_id');
echo $saved_data;
Entonces ‘taxonomy’ es mi taxonomía personalizada, digamos ‘project_clients’
‘text_field_id’ es el ID del campo de entrada, es $prefix.’text_area’…
¿Qué es ‘term’ ?????
Steve
Ante,
¿Has tenido algún progreso con esto??
Me pregunto lo mismo – he revisado tantos comentarios y páginas que hablan de esto, pero no encuentro una solución. Cualquier ayuda sería apreciada si has encontrado la respuesta.
Simplemente agregar lo siguiente a mi archivo taxonomy.php no está funcionando:
//Obtener el ID de taxonomía correcto por slug
$term = get_term_by( ‘slug’, get_query_var( ‘term’ ), get_query_var( ‘taxonomy’ ) );
//Obtener metadatos de taxonomía
$saved_data = get_tax_meta($term->term_id,'text_field_id');
echo $saved_data;
fp-admin
Estoy tratando de agregar lo que sea que ponga en el WYSIWYG al front-end del sitio web. Honestamente, no tengo idea de lo que estoy haciendo, pero este es mi código hasta ahora:
term_id,’wysiwyg_field_id’);
?>
<a href="”>
ELiane
Hola,
Usé el plugin pero no puedo obtener el código en mi Taxonomy.php.
Uso este código para mostrar el campo
term_id,’text_field_id’);
echo $saved_data;
?>
¿Tengo que hacer algo más?
Gracias
Soporte de WPBeginner
sí, si has seguido todas las instrucciones como se describió anteriormente, entonces debería funcionar.
Administrador
Tejas Deshmukh
Hola, especialmente gracias por esta idea. Este plugin funciona de maravilla. He agregado tres campos adicionales en la opción de agregar y editar términos específicos. Pero cuando creo una categoría en él, en ese término, no puedo almacenar el valor para esos tres campos adicionales. ¿Alguna sugerencia para eso?
alexut
Pero, ¿cómo saco los datos de la página de archivo? Deberías añadir esto también, ya que es una solicitud común.
Kisshomaru
¡Brillante! No tienes idea de cuánto tiempo pasé buscando una manera de agregar "cantidades" a "productos". Al no ser este un sitio de comercio, era engorroso tener una publicación de comida ligada a una taxonomía de Ingredientes y no poder modificar el número de pepinos para cada publicación.
¡Gracias!
Mike Jackson
Hola, tengo problemas para que esto funcione. Tengo los campos de datos visibles en mi taxonomía personalizada, pero no puedo llamar a los datos en mi brand-description.php usando el código php que pegaste al final de tu artículo. No muestra un error, simplemente no funciona.
Agradecería mucho una explicación adicional con esto si tienes tiempo.
Gracias
Mike Jackson
¡Esto es todo un hallazgo! Llevo semanas intentando resolver esto. ¿Alguna idea de cómo añadir los nuevos campos a las columnas?
Mike Jackson
También tengo problemas para mostrar algo en la página. Tengo este código aplicado y datos en los campos, pero nada se muestra en el sitio.
term_id,’textarea_field_id’); echo $saved_data;
?>
Personal editorial
Este código funciona en la página de archivo de taxonomía. Si no se muestra, es probable que el código no pueda obtener el ID de la taxonomía. Al menos esa sería mi suposición.
-Syed
Administrador
FJ
Bueno, esto suena bien e hizo el truco en las categorías, pero por alguna razón, no funcionó en una taxonomía personalizada mía. ¿Me perdí algo? ¿Hay algún hook en algún lugar que no haya mirado?
De todos modos, muchas gracias por estas aclaraciones sobre el trabajo de Ohad. Di vueltas alrededor de él preguntándome cómo diablos podría usarlo correctamente. Soy del tipo "hazlo tú mismo", no un desarrollador real, estoy seguro de que ya lo habrás entendido.
Gracias de nuevo.
Personal editorial
En la línea 24 de example-usage.php, deberías poder especificar tu taxonomía personalizada.
Administrador
Ben
Para aclarar: en la línea 24 de taxonomy-fields.php
‘páginas’ => array(‘categoría’), // nombre de la taxonomía, acepta categorías, post_tag y taxonomías personalizadas
CAMBIA XXX por el nombre de tu taxonomía personalizada
‘pages’ => array(‘xxxxx’), // nombre de la taxonomía, acepta categorías, post_tag y taxonomías personalizadas
Kobbe
@ Editor, por favor, perdóname. ¿Cómo genero un campo de texto?
Personal editorial
Tienes que usar el código PHP que compartimos. Asegúrate de cambiar el nombre del campo al que tú tienes.
Administrador
Kobbe
Gracias editor, realmente aprecio tu respuesta. Así es como class-usage-demo.php – http://pastebin.com/ctZPeS0w
Estoy haciendo esto pero no muestra/genera nada. ¿Qué estoy haciendo mal? ¿Y es posible mostrar el código (si es posible) en alguna parte de mi tema… Gracias
Personal editorial
El código que tienes simplemente está configurando el lado de administración. Para mostrar el código, mira el código PHP que hemos compartido en el artículo. Tienes que usar eso en tu archivo de archivo de taxonomía.
gaurav kaushik
está genial..
pero ¿dónde guarda los datos…? ¿en la tabla postmeta o crea una nueva tabla?
Personal editorial
Lo hace en la tabla de opciones.
Administrador
Gaurav Kaushik
¿podemos cambiar el backend de este plugin? Me refiero a que queremos crear una tabla termmeta (meta_id, term_id, meta_key, meta_value) y guardar la meta de taxonomía aquí… ¿o conectarlo con este plugin? http://wordpress.org/extend/plugins/simple-term-meta/
Jim
Genial. Implementaré esto en nuestro blog en el futuro.
Michelle
Oh thanks you so much, I’ve been wondering how to identify tags as being English or Spanish for my bilingual site – this helps enormously
Jaime
De hecho, acabo de terminar de codificar campos personalizados para una taxonomía personalizada para un proyecto en el que estoy trabajando. ¡Me encanta la flexibilidad, sin duda revisaré el plugin para futuros proyectos!
Personal editorial
Sí, esa es la mejor parte. Nos encanta encontrar bibliotecas como esta que facilitan mucho la vida de los desarrolladores.
Administrador