我试图使用:if($product->;get\\u attribute(\'pa\\u orientation\')==“vertical”){//do something}
在我的wordpress函数中。php
目标是在属性匹配时加载产品的样式表。
上面的代码不起作用。我怀疑这可能导致未设置函数的非woocommerce页面出错,或者我的条件类型(数组?)不正确。是否有人知道$product->;get\\u属性可以在函数中以这种方式使用。php
我试图使用:if($product->;get\\u attribute(\'pa\\u orientation\')==“vertical”){//do something}
在我的wordpress函数中。php
目标是在属性匹配时加载产品的样式表。
上面的代码不起作用。我怀疑这可能导致未设置函数的非woocommerce页面出错,或者我的条件类型(数组?)不正确。是否有人知道$product->;get\\u属性可以在函数中以这种方式使用。php
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被停用,您的网站将崩溃。使用前检查功能可防止出现这种情况。我最近尝试学习为我的自定义主题创建一个主题选项页面,这是按照stackoverflow和其他资源的教程进行的。但脚本显示错误if ($_GET[\'page\'] == basename(__FILE__)) { if (\'save\' == $_REQUEST[\'formaction\']) { foreach ($options as $value) { if( isset( $_REQUEST[ $value[\'id\']