Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

276
Vistas
Woocommerce cómo mostrar etiquetas relevantes bajo el título de la categoría

Quiero mostrar etiquetas meta debajo de cada título de categoría. Puedo ver que hay este código para mostrar listas de etiquetas de productos para cada producto, pero lo que realmente quiero son etiquetas de productos para cada categoría y luego mostrarlas bajo el título de la categoría en la página.

 <?php global $product; ?> <div class="product-tags"> <?php echo wc_get_product_tag_list( $product->get_id(), ', ' ); ?> </div>

Captura de pantalla de ejemplo:

ingrese la descripción de la imagen aquí

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Bueno, ya conoce/tiene el nombre de la categoría (es decir, 'Equipo de café'), por lo que podría usarlo para obtener las etiquetas relevantes, pero para hacerlo, crearemos una función en el functions.php de su activo. tema, así:

El siguiente código va a su archivo functions.php de su tema activo:

 function your_theme_get_tags_based_on_cat($cat_name) { $cat_id = get_cat_ID($cat_name); $tag_query = new WP_Query(array( 'post_type' => 'product', 'posts_per_page' => -1, 'post_status' => 'publish', 'tax_query' => array( array( 'taxonomy' => 'product_cat', 'field' => 'term_id', 'terms' => $cat_id, 'operator' => 'IN' ) ) )); $all_tags = array(); while ($tag_query->have_posts()) { $tag_query->the_post(); $producttags = get_the_tags(); if ($producttags) { foreach ((array)$producttags as $tag_obj) { $all_tags[] = $tag_obj->term_id . '-' . $tag_obj->name; } } }; $tags_array = array_unique($all_tags); $new_array = array_map(function ($val) { return explode("-", $val); }, $tags_array); return new_array; }

La función anterior devolverá una matriz asociativa que contiene tag id de la tag name de la etiqueta de las etiquetas correspondientes de su categoría de PRODUCTO .

Nota al margen:
si necesita usarlo para las publicaciones de blog de su sitio de wordpress, puede cambiar/modificar la consulta intercambiando 'post_type' => 'product' con 'post_type' => 'posts' . Entonces, su consulta para publicaciones de blog sería algo como esto:

$blog_tag_query = new WP_Query(array('post_type'=>'post','post_status' =>'publish','cat'=>$cat_id,'posts_per_page'=>-1));

Si decide usarlo para las publicaciones de su blog, también recuerde cambiar get_term_link((int)$tag[0], 'product_tag') con get_term_link((int)$tag[0], 'post_tag') en su plantilla .

¡Ahora tiene una función mágica :) que puede usar en cualquier lugar donde necesite una lista de etiquetas para una categoría específica!

Entonces, usemos nuestra función en la plantilla de su página para completar las etiquetas correspondientes para la categoría actual, así:

 $cat_name = 'Coffee Equipment'; $tags_array = your_theme_get_tags_based_on_cat($cat_name); foreach ($tags_array as $tag) { echo '<a class="item" href="' . get_term_link((int)$tag[0], 'product_tag') . '">' . $tag[1] . '</a>'; };

¡Acabo de probar y funciona perfectamente bien! Siéntase libre de personalizarlo según sea necesario en su html template/markup .

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda