Không cho phép vận chuyển PO BOX

Bạn cần thêm mã này vào tệp chủ đề con của mình hoặc thông qua một plugin cho phép thêm các chức năng tùy chỉnh, chẳng hạn như plugin Đoạn mã. Vui lòng không thêm mã tùy chỉnh trực tiếp vào tệp chủ đề mẹ của bạn vì mã này sẽ bị xóa hoàn toàn khi bạn cập nhật chủ đề.functions.php functions.php

/**
 * Prevent PO box shipping
 */
add_action('woocommerce_after_checkout_validation', 'deny_pobox_postcode');

function deny_pobox_postcode( $posted ) {
  global $woocommerce;

  $address  = ( isset( $posted['shipping_address_1'] ) ) ? $posted['shipping_address_1'] : $posted['billing_address_1'];
  $postcode = ( isset( $posted['shipping_postcode'] ) ) ? $posted['shipping_postcode'] : $posted['billing_postcode'];

  $replace  = array(" ", ".", ",");
  $address  = strtolower( str_replace( $replace, '', $address ) );
  $postcode = strtolower( str_replace( $replace, '', $postcode ) );

  if ( strstr( $address, 'pobox' ) || strstr( $postcode, 'pobox' ) ) {
    wc_add_notice( sprintf( __( "Sorry, we cannot ship to PO BOX addresses.") ) ,'error' );
  }
}