Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

275
Views
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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!