Quiero mostrar contenido basado en la categoría actual y su categoría principal. Para hacer eso, necesito saber si la categoría actual es una subcategoría de una categoría principal específica.

Por ejemplo, estas son mis categorías:

  1. Coches
    • Sportcars
      • autos deportivos italianos
  2. Bicicletas
    • Dirtbikes
      • motos de cross japonesas

Ahora quiero mostrar el contenido en cada archivo de categorías en el árbol de categorías. En automóviles, autos deportivos y autos deportivos italianos, por ejemplo.

Para la primera categoría, puedo usar una etiqueta condicional de WooCommerce:

is_product_category( 'cars' )

Pero no hay in_product_category(). Por lo tanto, no pude comprobar si la categoría "autos deportivos italianos" es hija de "Cars".

¿Hay alguna manera de hacer eso?

0
Cray 20 feb. 2020 a las 16:43

2 respuestas

La mejor respuesta

Obtenga la categoría para padres de su categoría con el siguiente código.

$parentcats = get_ancestors($product_cat_id, 'product_cat');

Obtendrá una o más categorías principales, como una matriz y recorrerá para obtener el valor siguiente:

foreach($parentcat in $parentcats){
    echo $parentcat;
}

Luego puede compararlo con su "Categoría específica" utilizando una CONDICIÓN IF y hacer lo que quiera.

2
Rajeev 21 feb. 2020 a las 07:12

Puede verificar la propiedad de categoría principal en el objeto de categoría secundaria. Una categoría secundaria tiene una propiedad principal que contiene el ID de su categoría principal. En su caso, el objeto de término 'automóviles deportivos italianos' tendría una propiedad principal que apunta a la ID del término 'automóvil'.

0
Eliasu 20 feb. 2020 a las 14:36