【发布时间】:2022-01-17 05:15:26
【问题描述】:
我需要停用由插件生成的结帐日期选择器当购物车上的产品是虚拟的。
这是他们为此提供的钩子:
apply_filters('woocommerce_delivery_disabled_dates', $disableDates);
根据这些信息,这是我的代码尝试:
add_filter( 'woocommerce_checkout_fields' , 'disable_dates' );
function disable_dates( $fields ) {
$only_virtual = true;
foreach( WC()->cart->get_cart() as $cart_item_key => $cart_item ) {
// Check if there are non-virtual products
if ( ! $cart_item['data']->is_virtual() ) $only_virtual = false;
}
if( $only_virtual ) {
apply_filters(‘woocommerce_delivery_disabled_dates’, $disableDates);
}
return $fields;
}
但是这并没有给出预期的结果,有什么建议可以在购物车包含虚拟产品时隐藏结帐日期选择器吗?
【问题讨论】:
-
请问您有什么问题
-
$disableDates未定义。我相信这应该是$fields- 或者我更喜欢在您的代码中将$fields重命名为$disableDates。
标签: php wordpress woocommerce product cart