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被停用,您的网站将崩溃。使用前检查功能可防止出现这种情况。