{"id":8466139,"date":"2016-11-22T01:42:38","date_gmt":"2016-11-22T01:42:38","guid":{"rendered":"https:\/\/wordpress.org\/support\/topic\/auto-detect-po-box-shipping-method\/"},"modified":"2016-11-22T01:42:38","modified_gmt":"2016-11-22T01:42:38","slug":"auto-detect-po-box-shipping-method","status":"publish","type":"topic","link":"https:\/\/wordpress.org\/support\/topic\/auto-detect-po-box-shipping-method\/","title":{"rendered":"Auto Detect PO Box Shipping Method"},"content":{"rendered":"<p>Hello &#8211; We need to return a shipping method based on if a user enters &#8220;PO Box&#8221; as a shipping address. We found a code snippet that will disable PO Box delivery. Instead of returning the error &#8220;Sorry, we don&#8217;t ship to PO BOX addresses.&#8221;, could it be customized to select a specific shipping method if the criteria is met?<\/p>\n<pre><code>add_action(&#039;woocommerce_after_checkout_validation&#039;, &#039;deny_pobox_postcode&#039;);\n\nfunction deny_pobox_postcode( $posted ) {\n  global $woocommerce;\n  \n  $address  = ( isset( $posted[&#039;shipping_address_1&#039;] ) ) ? $posted[&#039;shipping_address_1&#039;] : $posted[&#039;billing_address_1&#039;];\n  $postcode = ( isset( $posted[&#039;shipping_postcode&#039;] ) ) ? $posted[&#039;shipping_postcode&#039;] : $posted[&#039;billing_postcode&#039;];\n  \n  $replace  = array(&quot; &quot;, &quot;.&quot;, &quot;,&quot;);\n  $address  = strtolower( str_replace( $replace, &#039;&#039;, $address ) );\n  $postcode = strtolower( str_replace( $replace, &#039;&#039;, $postcode ) );\n\n  if ( strstr( $address, &#039;pobox&#039; ) || strstr( $postcode, &#039;pobox&#039; ) ) {\n    $woocommerce-&gt;add_error( &quot;Sorry, we don&#039;t ship to PO BOX addresses.&quot; );\n  }\n}<\/code><\/pre>\n<p>Thanks in advance!<\/p>\n","protected":false},"template":"","class_list":["post-8466139","topic","type-topic","status-publish","hentry"],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/support\/wp-json\/wp\/v2\/topic\/8466139","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/support\/wp-json\/wp\/v2\/topic"}],"about":[{"href":"https:\/\/wordpress.org\/support\/wp-json\/wp\/v2\/types\/topic"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.org\/support\/wp-json\/wp\/v2\/topic\/8466139\/revisions"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/support\/wp-json\/wp\/v2\/media?parent=8466139"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}