get_attribute()
是一种WC_Product
反对,所以$product
需要是的实例WC_Product
表示当前产品的。您的代码本身无法工作,因为$product
可能未定义。
所以你需要定义$product
, 但您还需要确定它应该定义为哪个产品。在您的情况下,在查看单个产品页面时,它需要是当前产品。您可以通过以下方式执行此操作:
确定您是否在单个产品页上如果是,请WC_Product
页面所针对的产品的实例对于#1,使用is_product()
, 和供#2使用get_queried_object()
要获取该产品的post对象,请与wc_get_product()
获取WC_Product
该产品的对象。
总的来说是这样的:
add_action(
\'wp_enqueue_scripts\',
function() {
if ( function_exists( \'is_product\' ) && is_product() ) {
$post = get_queried_object();
$product = wc_get_product( $post );
if ( \'vertical\' === $product->get_attribute( \'pa_orientation\' ) ) {
// Enqueue your stylesheet.
}
}
}
);
注意,我添加了一个检查
function_exists( \'is_product\' )
. 这个
is_product()
该功能是WooCommerce功能,因此如果WooCommerce被停用,您的网站将崩溃。使用前检查功能可防止出现这种情况。