搜尋

首頁  >  問答  >  主體

簡化WooCommerce結帳流程:取消州/省字段,使其對所有國家“非必填”

<p>我在GitHub上找到了一種方法,可以移除woocommerce的結帳頁面中的州/省份字段'state'。 https://gist.github.com/jeherve/a07ccf469025d722ad7016f6953146fd (感謝Jeremy Herve!)</p> <pre class="brush:php;toolbar:false;">function jeherve_remove_state_field( $fields ) { unset( $fields['state'] ); return $fields; } add_filter( 'woocommerce_default_address_fields', 'jeherve_remove_state_field' );</pre> <p>我的問題是:移除州/省份字段是否安全,或者是否已經在woocommerce中設置了某些國家需要該字段? </p> <p>我是否需要先將每個國家的州/省份字段設置為'非必填'? </p> <p>我擔心移除州/省份欄位後,結帳頁面對於某些特定國家將無法正常工作,因為它們需要該欄位。 </p> <p>我不需要像對郵遞區號欄位那樣將州/省欄位設為$address_fields['state'][required]=false,對嗎? </p> <pre class="brush:php;toolbar:false;">add_filter( 'woocommerce_default_address_fields' , 'override_postcode_validation' ); function override_postcode_validation( $address_fields ) { $address_fields['postcode']['required'] = false; return $address_fields; }</pre> <p>非常感謝您的幫忙。謝謝。 </p>
P粉311617763P粉311617763459 天前542

全部回覆(1)我來回復

  • P粉392861047

    P粉3928610472023-08-26 13:32:55

    您可以使用相同的程式碼從結帳表單中刪除州/省欄位。

    function wc_remove_state_field($fields) {
    
        unset($fields['state']);
        return $fields;
    }
    
    add_filter('woocommerce_default_address_fields', 'wc_remove_state_field');

    這不會對結帳流程造成任何問題。您不需要為所有國家設定此項。

    1 - 郵遞區號仍然需要填寫才能繼續。

    2 - 需要州/省字段的支付網關不能用於結帳。

    回覆
    0
  • 取消回覆