¿Cómo puedo verificar si un producto está en una determinada categoría de producto en el single-product.php ?
<?php if (is_product_category('audio')) {
echo 'In audio';
woocommerce_get_template_part( 'content', 'single-product' );
} elseif (is_product_category('elektro')) {
echo 'In elektro';
woocommerce_get_template_part( 'content', 'single-product' );
} else {
echo 'some blabla'; } ?>
is_product_category ('slug') no tiene efecto en single-product.php . Quiero tener los condicionales superiores. ¿Alguna solución para esto en una página de un solo producto?
)
? Debería serif (is_product_category('audio'))
Respuestas:
No creo que
get_categories()
sea la mejor opción para usted en este caso porque devuelve una cadena con todas las categorías enumeradas como etiquetas de anclaje, bien para mostrar, pero no es excelente para descubrir en el código cuáles son las categorías. Ok, lo primero que debes hacer es tomar el producto / objeto de publicación para la página actual si aún no lo tienes:Luego puede obtener los objetos de término de categoría de producto (las categorías) para el producto. Aquí estoy convirtiendo los objetos de término de categoría en una matriz simple llamada
$categories
para que sea más fácil ver qué babosas se asignan. Tenga en cuenta que esto devolverá todas las categorías asignadas al producto, no solo la de la página actual, es decir, si estamos en/shop/audio/funzo/
:Luego solo tenemos que verificar si una categoría está en la lista:
Poniendolo todo junto:
Esperemos que esto sea lo que estaba buscando y responda su pregunta.
fuente
has_term
debería funcionar en este caso:fuente
if { thing; return;}
Vale la pena señalar que puede pasar por una lista de opciones llamando a una matriz en lugar de tener que saturar su código con muchas otras verificaciones, suponiendo que quiera hacer lo mismo con cada categoría.
fuente
Esto es antiguo, pero en caso de que la gente siga buscando WooThemes como una solución simple:
* Cambie 'su_categoría' a lo que esté usando.
Aquí está el enlace a la documentación: https://docs.woothemes.com/document/remov-product-content-based-on-category/
fuente
Me gustaría ver el uso de la
get_categories()
función de la clase WC_Product.Puede encontrar el enlace a la documentación aquí .
Básicamente, dentro del ciclo de la página, llame a la función para devolver las categorías asociadas con el producto.
fuente