Woo Commerceでの特定のアイテムによる送料無料の有効化[終了]


8

カートに特定のアイテム(または特定のカテゴリ/配送クラスのアイテム)が含まれている場合にのみ、Woo Commerceで無料配送を有効にできるかどうかを知りたいです。

送料無料オプションは、カートの値に基づいて、またはクーポンコードを介してのみアクティブになるため、定額配送を調査したところ、最も安い配送クラスよりも最も高い配送クラスが優先されることがわかりました。つまり、私が作成した送料無料クラスがデフォルトの料金を上書きすることはありません。

私はこれの背後にある論理を理解していますが、注文に含まれている場合に配送料を排除することにより、利益率の高い製品の購入にインセンティブを与えることがアイデアなので、それは私が必要とするものの逆です。

私が達成しようとしていることがWoo Commerce内で単に不可能であるかどうかわかりません。特定の製品/カテゴリにのみ適用されるクーポンが最も近いようですが、チェックアウト時にユーザーにコードの入力を強制することはしません。

特定の製品を購入したユーザーに送料無料を提供する簡単な方法があるかどうか誰かが知っていますか?


3
Wordpressのプラグインに関連するこの質問をいったい一体どうやって8回賛成して3回賛成したかは、Wordpress開発者によって「オフトピック」としてクローズされますOo
Ben

@BenはWooCommerceプラグインであり、WordPress固有の質問ではないため(ヘルプセンターで述べられているように
Alexander Holsgrove

回答:


1

おそらくこれであなたの質問に完全に答えることはできませんが、テーブルレート配送プラグインは特定のレートの優先度を設定するオプションを提供します。さらに、このディスカッションでは、解決策を探すことができる場所について多くのヒントが得られます


ありがとう。Table Rate Shippingのドキュメントを見ると、私が必要としていることを実行しているようです。私の雇用主がライセンスを取得する場合、それが使用されているかどうかについて更新します。
James O'Neill、

外部のリソースへのリンクを投稿しないでください。むしろここに召喚し、その上にあるリンクを使用してください。リンクが進んだ場合、答えは役に立たず、リンクの腐敗を防ぐために苦労しています。-1
カイザー2013

5

特定の製品を購入したユーザーに送料無料を提供する簡単な方法があるかどうか誰かが知っていますか?

実際、商品を作成するときは、商品エディター内で仮想商品としてマークするだけで、その商品の配送が完全に除外されます。


1
これは単純な製品では機能しますが、他の種類の製品では機能しません。たとえば、変数です。いいね。これはおそらく何人かの人々のために働くでしょう。
Alexander Lee Williams

なぜこれは可変製品では機能しないのですか?各バリエーションをとしてマークできvirtualます。
BFTrick 2013

私は@BFTrickに同意します
ネイサン

1
システムが顧客の配送先住所にアクセスできないため、これも悪いことです。これはかなり重要です;)
Kane

2

これは、@ Ewoutによって別の回答でリンクされたGitHubの問題のディスカッションから、一部のGistsから収集されたスニペットです。を追加したvar_dump()ので、コメントを外して、削除するものを正確に確認できます。

$available_methodsあるarrayのは:

$available_methods as $method_id => $method

$method_idより具体的なチェックが必要な場合と比較してください。

// Hide standard shipping option when free shipping is available
add_filter( 'woocommerce_available_shipping_methods', 'wpse90835_hide_standard_shipping_when_free_is_available' );
/**
 *  Hide Standard Shipping option when free shipping is available
 * 
 * @param array $available_methods
 */
function wpse90835_hide_standard_shipping_when_free_is_available( $available_methods )
{
    // Developers!: Dump this to see what you can unset
    # var_dump( $available_methods );

    // remove standard shipping option
    if ( 
        isset( $available_methods['free_shipping'] ) 
        AND isset( $available_methods['flat_rate'] )
    )
        unset( $available_methods['flat_rate'] );


    return $available_methods;
}

2

ユーザーが送料無料の詳細設定を構成できるWooCommerceプラグインを作成しました。プラグインでは、特定の製品を選択して送料無料にすることができます。

あなたはWooCommerce Advanced Free Shippingと呼ばれる無料のプラグインをwordpress.orgで見つけることができます

お役に立てれば。


0

kaiserのコード(上記)に基づいて、次のコードを作成しました。

    /**
 *  Hide free shipping option when Standard Shipping is available
 * 
 * @param array $available_methods
 */
function mwe_hide_free_shipping_when_standard_shipping_is_available($available_methods) {

    // remove standard shipping option
    if (isset($available_methods['free_shipping']) AND isset( $available_methods['flat_rate'])) {
        unset($available_methods['free_shipping']);
    }

    return $available_methods;
}
add_filter('woocommerce_available_shipping_methods', 'mwe_hide_free_shipping_when_standard_shipping_is_available');

また、WooCommerceを設定する代わりに、Woo配送オプションで送料無料と定額の両方を有効にしています。次に、配送クラスを設定し、定額オプションのページで送料(たとえば、7.95ポンド)を指定してから、7.95ポンドを請求する商品にその配送クラスを追加します。


0

「仮想」オプションはすべての送料を削除しますが、顧客の請求先住所とは異なる住所に配送するオプションも削除します。これは、顧客が仮想製品以外の他の製品も購入する場合は問題ではありませんが、購入するのはそれだけです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.