Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
[General Snippets] Don’t allow PO BOX shipping
/**
* 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' );
}
}
@klishb

This comment has been minimized.

Copy link

commented Jun 21, 2018

This code doesn't seem to work for me on a default WooCommerce checkout page. Can you confirm it still works? Also, not sure this line is intentional:

  • Set WooCommerce image dimensions upon theme activation
@klishb

This comment has been minimized.

Copy link

commented Jun 21, 2018

whoops I guess it does work. I didn't realize the hook wasn't until you submit.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.