对于我的WC产品页面,我需要在body标签中添加一个类,这样我就可以执行一些自定义样式。
function my_add_woo_cat_class($classes) {
$wooCatIdForThisProduct = "?????"; //help!
// add 'class-name' to the $classes array
$classes[] = 'my-woo-cat-id-' . $wooCatIdForThisProduct;
// return the $classes array
return $classes;
}
//If we're showing a WC product page
if (is_product()) {
// Add specific CSS class by filter
add_filter('body_class','my_add_woo_cat_class');
}
...但我如何获得WooCommerce猫ID?
6条答案
按热度按时间i2byvkas1#
一个WC产品可以不属于任何WC类别,也可以属于一个或多个WC类别。假设您只想获得一个WC类别ID。
请查看WooCommerce插件的“templates/single-product/”文件夹中的meta.php文件。
nbewdwxp2#
$product->get_categories()
自3.0版起已过时!请改用wc_get_product_category_list
。https://docs.woocommerce.com/wc-apidocs/function-wc_get_product_category_list.html
dz6r00yl3#
我从我的主题目录下的woocommerce文件夹中的content-single-popup.php中剥离了这行代码。
由于我的主题,我正在努力已经集成了woocommerce在它,这是我的解决方案。
4jb9z9bj4#
我正在使用MyStile主题,我需要在搜索结果页面中显示产品类别名称。我将此函数添加到了我的子主题functions.php中
希望对其他人有帮助。
cbeh67ev5#
ds97pgxw6#
要将自定义类添加到body标记,可以使用
body_class
挂钩。要在产品页面上根据特定产品类别添加一个或多个类别,您可以使用Wordpress
has_term
功能 (检查产品是否属于该特定产品类别)。为此,我创建了数组
$classes_to_add
,其中:*key:它可以是产品类别id(或slug或名称)。或者是它们的数组。Read the documentation。
*value:一个包含要添加到body标签的类的字符串。如果你想添加多个类,请创建一个包含多个值的字符串,用空格分隔(请看下面我的例子)
因此: