Css 如何将类添加到单个产品页面

Css 如何将类添加到单个产品页面,css,wordpress,woocommerce,product,hook-woocommerce,Css,Wordpress,Woocommerce,Product,Hook Woocommerce,我正在尝试将类添加到WooCommerce单产品页面,特别是产品页面上的“product”div,但也添加了其他元素——使用挂钩和过滤器 我对PHP不是很在行,我更像是一个前端开发人员,但我一直负责设计WooCommerce,以适应自定义Wordpress主题 我以前使用过下面的代码,通过functions.php文件将类添加到Wordpress中的body元素中。我在WooCommerce模板的产品页面上找到了“product”div,并为此复制了过滤器,但它似乎不起作用 add_filter

我正在尝试将类添加到WooCommerce单产品页面,特别是产品页面上的“product”div,但也添加了其他元素——使用挂钩和过滤器

我对PHP不是很在行,我更像是一个前端开发人员,但我一直负责设计WooCommerce,以适应自定义Wordpress主题

我以前使用过下面的代码,通过
functions.php
文件将类添加到Wordpress中的body元素中。我在WooCommerce模板的产品页面上找到了“product”div,并为此复制了过滤器,但它似乎不起作用

add_filter('wc_product_class','my_product_class');
函数我的产品类($classes){
$classes[]=“我的产品类别”;
返回$classes;
}

任何帮助或指点我应该做什么来实现这一点都将非常感谢。我现在正在用JS添加类,但这可能不是一个好主意

来自
的函数
wc\u get\u product\u类
包含/wc模板函数。php
包含较新的
woocommerce\u post\u类
过滤器挂钩

因此,要在单个产品页面(“产品”div)上添加一个类,您可以使用:

/**
*WooCommerce Post类过滤器。
*
*@自3.6.2起
*@param array$classes CSS类的数组。
*@param WC_Product$产品对象。
*/
函数过滤器\u商业\u发布\u类($classes,$product){
//is_product()-在单个产品页上返回true
//没有单一的产品页面,所以返回
如果(!is_product())返回$classes;
//添加新类
$classes[]=“我的产品类别”;
返回$classes;
}
添加过滤器('woocommerce\u post\u class','filter\u woocommerce\u post\u class',10,2);

注意:类也将应用于相关产品,由单个产品页面上的“循环”生成

要防止出现这种情况,请使用:

function filter\u woocommerce\u post\u class($classes,$product){
全球$WOOU循环;
//is_product()-在单个产品页上返回true
//没有单一的产品页面,所以返回
如果(!is_product())返回$classes;
//相关产品部分,请返回
if($woocommerce\u loop['name']=='related')返回$classes;
//添加新类
$classes[]=“我的产品类别”;
返回$classes;
}
添加过滤器('woocommerce\u post\u class','filter\u woocommerce\u post\u class',10,2);

这里有一个很好的挂钩视觉指南,用于Woocommerce单一产品页面。非常感谢。我以前看过那一页,但这是一个帮助,谢谢。我想我需要的是过滤器,而不是钩子来添加类。我相信挂钩是用来移动内容的。我似乎找不到一个过滤器的例子,我可以从中向产品页面上的各个元素添加类。我想您正在寻找这些