Woocommerce 在带有变量的产品中插入post meta
我声明我不是专家!我的功能根据价格的存在修改产品的可见性。它适用于简单的产品,但不适用于具有变量的产品。更准确地说,变量的可见性在变量产品中更改,而不是在父产品中更改 我的问题是:如果存在变量,如何在父产品上设置可见性过滤器?这是我当前的代码:Woocommerce 在带有变量的产品中插入post meta,woocommerce,filter,visibility,meta,parentid,Woocommerce,Filter,Visibility,Meta,Parentid,我声明我不是专家!我的功能根据价格的存在修改产品的可见性。它适用于简单的产品,但不适用于具有变量的产品。更准确地说,变量的可见性在变量产品中更改,而不是在父产品中更改 我的问题是:如果存在变量,如何在父产品上设置可见性过滤器?这是我当前的代码: if ($listinoWeb == "") { delete_post_meta($product_id, 'wwpp_product_wholesale_visibility_filter', 'all');
if ($listinoWeb == "")
{
delete_post_meta($product_id, 'wwpp_product_wholesale_visibility_filter', 'all');
add_post_meta($product_id, 'wwpp_product_wholesale_visibility_filter', 'wholesale_customer', TRUE);
}
else
{
add_post_meta($product_id, 'wwpp_product_wholesale_visibility_filter', 'all', TRUE);
delete_post_meta($product_id, 'wwpp_product_wholesale_visibility_filter', 'wholesale_customer');
}
您可以在产品对象上调用
get\u parent\u id()
函数。如果在简单/父产品上调用它,它将返回0
。所以你可以这样做:
$product_id = $product->get_parent_id() ? $product->get_parent_id() : $product->get_id();
通过这种方式,您可以确保
$product\u id
变量始终包含父id。如果此答案适用于您,请将其标记为已接受。