今天我們來看看 WooCommerce Checkout 頁面,我們的目標是禁止客戶輸入 PO BOX 地址。我不記得我從哪裡得到這個片段,但無論如何,我很高興再次分享!
WooCommerce 代碼段:不允許運送到 PO BOX
/**
* @snippet Disallow Shipping to PO BOX
* @sourcecode https://businessbloomer.com/?p=19951
* @author Rodolfo Melogli
* @testedwith WooCommerce 2.5.2
*/
add_action('woocommerce_after_checkout_validation', 'bbloomer_disallow_pobox_shipping');
function bbloomer_disallow_pobox_shipping( $posted ) {
global $woocommerce;
$address = ( isset( $posted['shipping_address_1'] ) ) ? $posted['shipping_address_1'] : $posted['billing_address_1'];
$address2 = ( isset( $posted['shipping_address_2'] ) ) ? $posted['shipping_address_2'] : $posted['billing_address_2'];
$postcode = ( isset( $posted['shipping_postcode'] ) ) ? $posted['shipping_postcode'] : $posted['billing_postcode'];
$replace = array(" ", ".", ",");
$address = strtolower( str_replace( $replace, '', $address ) );
$address2 = strtolower( str_replace( $replace, '', $address2 ) );
$postcode = strtolower( str_replace( $replace, '', $postcode ) );
if ( strstr( $address, 'pobox' ) || strstr( $address2, 'pobox' ) || strstr( $postcode, 'pobox' ) ) {
wc_add_notice( 'Sorry, we do not ship to PO BOX addresses.', 'error');
}
}
如何添加此代碼?
1 、您可以將 PHP 代碼片段放置在主題或子主題的 functions.php 文件的底部(如果是 CSS 代碼,請添加到子主題的 style.css 文件底部)修改之前建議先備份原始文件,若出現錯誤請先刪除此代碼。
2 、 WordPress 4.9 後改進了主題編輯器,對於 CSS 代碼也可打開網站前台編輯器的【自定義】,複製代碼添加到自定義 css 中。
此代碼是否可用?
如需幫助或是您有更好的方案想分享?請到薇曉朵 WooCommerce 中文論壇留言告知,我們希望可以幫到更多國內的 WooCommerce 用戶也希望您的參與。