您可以在结帐页面中重置上次选择的送货方式(对于已登录的客户):
delete_user_meta( get_current_user_id(), 'shipping_method' );
并且还从会话数据中删除选择的运输方式:
WC()->session->__unset( 'chosen_shipping_methods' );
在类似的钩子函数中:
add_action( 'template_redirect', 'reset_previous_chosen_shipping_method' );
function reset_previous_chosen_shipping_method() {
if( is_checkout() && ! is_wc_endpoint_url() && is_user_logged_in()
&& get_user_meta( get_current_user_id(), 'shipping_method', true ) ) {
delete_user_meta( get_current_user_id(), 'shipping_method' );
WC()->session->__unset( 'chosen_shipping_methods' );
}
}
或者您也可以在结帐页面为每个人设置默认送货方式:
add_action( 'template_redirect', 'reset_previous_chosen_shipping_method' );
function reset_previous_chosen_shipping_method() {
if( is_checkout() && ! is_wc_endpoint_url() && is_user_logged_in() ) {
WC()->session->set( 'chosen_shipping_methods', array('flat_rate:14') );
}
}
要找出要使用的运输方式费率 ID,您可以使用浏览器检查器检查购物车或结帐页面中的运输方式单选按钮,例如:
代码在您的活动子主题(或活动主题)的 function.php 文件中。它应该可以工作。