Después del éxito del post de cómo hacer esto en las categorías de WooCommerce, muchos SEOs me han pedido hacerlo también en las etiquetas de producto, así que en este tutorial vamos a ver cómo añadirlo de forma sencilla!
Vamos a pasar de esto:

Una vez añadido el código:

Tendremos que copiar el siguiente texto en nuestro fichero functions.php o en nuestro plugin Code Snippets como explico aquí:
//Crear un campo visible de texto debajo de los productos en las etiquetas de WooCommerce
add_action( 'product_tag_add_form_fields', 'nuevo_campo_etiquetas_woo', 10, 2 );
function nuevo_campo_etiquetas_woo($taxonomy) {
global $feature_groups;
?><div class="form-field term-group">
<label for="wootag-field">Descripción de abajo</label>
<textarea id="wootag-field" name="wootag-field"></textarea>
</div><?php
}
//Guardar los datos del campo
add_action( 'created_product_tag', 'save_wootag_meta', 10, 2 );
function save_wootag_meta( $term_id, $tt_id ){
if( isset( $_POST['wootag-field'] ) && '' !== $_POST['wootag-field'] ){
$group = $_POST['wootag-field'];
add_term_meta( $term_id, 'wootag-field', $group, true );
}
}
//Guardar la info adicional
add_action( 'product_tag_edit_form_fields', 'edit_wootag_field', 10, 2 );
function edit_wootag_field( $term, $taxonomy ){
// Guardar los datos
$wootag = get_term_meta( $term->term_id, 'wootag-field', true );
?><tr class="form-field term-group-wrap">
<th scope="row"><label for="wootag-field">Descripción de abajo</label></th>
<td><textarea id="wootag-field" name="wootag-field"><?php echo $wootag; ?></textarea></td>
</tr><?php
}
add_action( 'edited_product_tag', 'update_wootag_meta', 10, 2 );
function update_wootag_meta( $term_id, $tt_id ){
if( isset( $_POST['wootag-field'] ) && '' !== $_POST['wootag-field'] ){
$group = $_POST['wootag-field'];
update_term_meta( $term_id, 'wootag-field', $group );
}
}
//Mostrar el campo en la edición de etiquetas de WooCommerce
add_filter('manage_edit-product_tag_columns', 'add_wootag_column' );
function add_wootag_column( $columns ){
$columns['top_description'] = 'Top Description';
return $columns;
}
add_filter('manage_product_tag_custom_column', 'add_wootag_column_content', 10, 3 );
function add_wootag_column_content( $content, $column_name, $term_id ){
if( $column_name !== 'top_description' ){
return $content;
}
$term_id = absint( $term_id );
$top_description = get_term_meta( $term_id, 'wootag-field', true );
if( !empty( $top_description ) ){
$content .= esc_attr( $top_description );
}
return $content;
}
// Ponerlo debajo de los productos
function action_woocommerce_archive_description( $woocommerce_taxonomy_archive_description ) {
$q_object = get_queried_object();
if (isset($q_object->taxonomy) && $q_object->taxonomy == 'product_tag') {
$top_description = get_term_meta( $q_object->term_id, 'wootag-field', true );
echo '<div class="brand-top-description">' . $top_description . '</div>';
}
};
add_action( 'woocommerce_after_main_content', 'action_woocommerce_archive_description', 10 );
¿Por qué añadir este campo?
Si trabajas el SEO de las etiquetas para posicionar o bien quieres mostrar algo a tu cliente, debes poder elegir donde ponerlo. Es por esto que mostrarlo después de que el cliente vea sus productos es la mejor opción.
Espero que os haya servido y cualquier duda o problema os leo en comentarios!
Otros tutoriales relacionados:
- Cambiar el encabezado de los widgets de WordPress
- Cambiar el encabezado de los productos en modo catálogo
Buenas noches y muchas gracias por compartirme en el otro post (https://diegol.top/woocommerce/anadir-dos-descripciones-categorias/) el enlace a este sobre las etiquetas.
El código me funciona bien, pero no le puedo dar formato cómo en el de las categorías. Me podríais indicar cómo se le añade el editor de texto? He probado combinado algunas cosas del de categorías, pero no soy capaz de que me vaya, me da fallo.
Muchas gracias de antemano.