私たちの店では、UPSとUSPSの発送方法があります。
私たちが販売する製品はすべて形状とサイズが異なりますので、テーブルレートオプションではなくAPIを使用する必要があります。状態に基づくWooCommerce制限配送方法
ユーザーがAK、HI、PR、GU、AS、VI、またはUMから郵便番号を入力したときにのみ、USPSレートが表示されるようにします。私は既に条件付き配送と支払い方法を試しましたが、うまくいかないようです。私が間違っていないなら、それはチェックアウト時に返される料金やオプションのためにとにかく働くだけで、私が必要とするカート用ではありません。
私はこの質問が尋ねられたところで多くの異なるページを閲覧し、回答に一致するようにfunctions.php
ファイルを編集しようとしましたが、すべての回答が古くなっているようです。
私は見つけることができる最も近い答えは下のリンクでオプション#2である、しかし、それは動作しません、私はそれを試してみてください。http://support.wooforce.com/hc/en-us/articles/207515625-Hiding-disabling-a-shipping-service
ここで私はそのリンクから、私が持っていることをカスタマイズしているコードがありますそれを機能させるようにしました。アラスカ、ハワイ、プエルトリコ、グアム、アメリカンサモア、バージン諸島、マイナーアイランド以外の州ごとにメソッドを除外したいとします。
ご協力いただきましてありがとうございます。私の理解あたりとして
add_filter('woocommerce_package_rates', 'wf_hide_undesired_service_for_required_states', 10, 2);
function wf_hide_undesired_service_for_required_states($rates, $package)
{
$exclude = array(
'wf_shipping_usps:D_PRIORITY_MAIL' => array(
'AL', 'AR', 'AZ', 'CA', 'CO', 'CT', 'DC', 'DE', 'FL', 'GA', 'IA', 'ID', 'IL', 'IN', 'KS', 'KY', 'LA', 'MA', 'MD', 'ME', 'MI', 'MN', 'MO', 'MS', 'MT', 'NC', 'ND', 'NE', 'NH', 'NJ', 'NM', 'NV', 'NY', 'OH', 'OK', 'OR', 'PA', 'RI', 'SC', 'SD', 'TN', 'TX', 'UT', 'VA', 'VT', 'WA', 'WI', 'WV', 'WY'
)
);
if (is_array($exclude)) {
foreach($exclude as $shipping_method => $excluded_states) {
if (in_array(WC()->customer->shipping_state, $excluded_states)) {
unset($rates[$shipping_method]);
}
}
}
return $rates;
}