根据选择的运输条件隐藏WooCommerce中的Checkout字段

在WooCommerce,我试图隐藏公司名称字段,只要选择“送货到家”。 我尝试了很多不同的东西。

这是我的最后一次尝试:

add_filter('woocommerce_checkout_fields', 'xa_remove_billing_checkout_fields'); function xa_remove_billing_checkout_fields($fields) { $shipping_method ='pakkelabels_shipping_gls1'; // Set the desired shipping method to hide the checkout field(s). global $woocommerce; $chosen_methods = WC()->session->get( 'chosen_shipping_methods' ); $chosen_shipping = $chosen_methods[0]; if ($chosen_shipping == $shipping_method) { unset($fields['billing']['billing_company']); // Add/change filed name to be hide } return $fields; } 

但它所做的只是将航运公司从第一个领域转移到最后一个领域。

如何根据所选的送货方式有条件地隐藏特定的结账字段?

因为它是一个直播活动,你需要使用javascript / jQuery来使它工作。 必须在默认的WooCommerce结帐页面中不要求结算公司。

选择“送货上门”送货时,以下代码将隐藏“开单公司”字段:

 // Conditional Show hide checkout fields based on chosen shipping methods add_action( 'wp_footer', 'conditionally_hidding_billing_company' ); function conditionally_hidding_billing_company(){ // Only on checkout page if( ! is_checkout() ) return; // HERE your shipping methods rate ID "Home delivery" $home_delivery = 'pakkelabels_shipping_gls1'; ?>   

代码放在活动子主题(或主题)的function.php文件中,或者放在任何插件文件中。

经过测试和工作。