Php 以编程方式将购物车项目从虚拟更改为物理
我需要在Woocommerce中的Php 以编程方式将购物车项目从虚拟更改为物理,php,wordpress,woocommerce,virtual,cart,Php,Wordpress,Woocommerce,Virtual,Cart,我需要在Woocommerce中的calculate\u cart\u item\u totals中的某个点以编程方式将购物车项目从“虚拟”更改为“物理”。这可能吗?您只能在计算总计之前使用woocommerce\u更改购物车项目(产品)属性。现在,要将购物车项目从“虚拟”更改为“物理”,您将使用以下方法: add_action( 'woocommerce_before_calculate_totals', 'custom_cart_item_data_replacement', 16 ); f
calculate\u cart\u item\u totals
中的某个点以编程方式将购物车项目从“虚拟”更改为“物理”。这可能吗?您只能在计算总计之前使用woocommerce\u更改购物车项目(产品)属性。现在,要将购物车项目从“虚拟”更改为“物理”,您将使用以下方法:
add_action( 'woocommerce_before_calculate_totals', 'custom_cart_item_data_replacement', 16 );
function custom_cart_item_data_replacement( $cart ) {
foreach ( $cart->get_cart() as $cart_item ) {
// Change virtual cart item to "physical"
if( $cart_item['data']->get_virtual() ) {
$cart_item['data']->set_virtual(false);
}
}
}
代码进入活动子主题(或活动主题)的functions.php文件。测试和工作