質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

1回答

653閲覧

wordpressプラグインのwelcartで送料割引のカスタマイズ。

chandler

総合スコア10

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

1クリップ

投稿2017/11/16 00:06

現在、wordpressでwelcartを使って小規模なネットショップを運営しております。
その中で送料の設定に手を加えたいと思っているのですが方法がわからず困っています。

当ショップでは基本的に1アイテムのみの販売です。
送料は1箱づつの個別送料となっているのですが、複数注文の場合は2箱単位で結束して発送しています。
その場合は1箱分の送料にしたいのです。

1箱=1ケ口→500円
2箱=1ケ口→500円
3箱=2ケ口→1000円
4箱=2ケ口→1000円
5箱=3ケ口→1500円

というようにしたいと思っています。
ちなみ送料は発送地域により違いがあります。

プログラミングはあまり得意ではないので、簡単なカスタマイズで可能なのであればやってみたいと思っています。
よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

送料計算は、 usces_filter_set_cart_fees_shipping_charge または usces_filter_getShippingCharge フックの中で、調整できます。

今回の内容だと usces_filter_set_cart_fees_shipping_charge フックの方がよさそうなので、テストはしていないのですが、以下のような感じでどうでしょうか。

カートの中身の商品をチェックして、指定商品が入っていた場合、商品を追加し際に加算された数量分の固別送料を減らして、2個1梱包で再計算した送料を加算しています。SKUコード部分をコードに変更。個別送料部分を個別送料に変更してください。
(地域別の送料は、考慮していませんので、適宜変更してください。)

PHP

1add_filter('usces_filter_set_cart_fees_shipping_charge', 'custom_filter_set_shipping_charge', 10, 3); 2function custom_filter_set_shipping_charge($shipping_charge, $carts, $entries){ 3 4 foreach($carts as $cart){ 5 if( $cart['sku'] == 'SKUコード' ){ 6 # 加算済みの個別送料を減 7 $shipping_charge -= $cart['quantity'] * 個別送料 8 # 新しい個別送料を加算 9 $shipping_charge += intval( $cart['quantity'] / 2 + 0.5 ) * 個別送料 ; 10 } 11 } 12 return $shipping_charge; 13 14}

投稿2017/11/19 05:07

編集2017/11/19 05:08
CHERRY

総合スコア25171

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

chandler

2017/11/19 15:44

丁寧なご回答ありがとう御座います。 phpはほとんど触ったことがないので大変助かりました。 ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問