送料カスタマイズ 特定カテゴリー

ホーム フォーラム 使い方全般 送料カスタマイズ 特定カテゴリー

このトピックには1件の返信が含まれ、2人の参加者がいます。4 日、 12 時間前 yskysmr さんが最後の更新を行いました。

2件の投稿を表示中 - 1 - 2件目 (全2件中)
  • 投稿者
    投稿
  • #90262

    kooooji
    参加者

    送料フックについて質問させていただきます。
    下記のコードで10個までは1つの送料にすることはできましたが、
    このコードを特定のカテゴリーのみに実現させたいです。
    特定カテゴリーには複数商品があります。

    例) 同じカテゴリーのA商品を5個とB商品を3個カートに入れた場合
       
       A5個+B3個=8個 1つ分の送料

    上記のようにしたいのですが、他のカテゴリー商品は1個ごとに送料がかかるようにしたいです。
    PHPがわからないので条件分岐方法をご教授いただだければ幸いです。

    function usces_get_item_count() {
    global $usces;
    $cart = $usces->cart->get_cart();
    $itemconut = 0;

    for ( $i = 0; $i < count( $cart ); $i++ ) {
    $cart_row = $cart[ $i ];
    $itemconut += esc_attr( $cart_row[ ‘quantity’ ] );
    }
    return $itemconut;
    }
    add_filter( ‘usces_filter_set_cart_fees_shipping_charge’, ‘my_func’, 10, 3 );

    function my_func( $shipping_charge, $carts, $entries ) {
    //何個口か計算
    $deliveryNum = floor( usces_get_item_count() / 11 ) + 1;
    switch ( $entries[ ‘delivery’ ][ ‘pref’ ] ) {
    case ‘長野県’:
    $shipping_charge = 1050 * $deliveryNum;
    break;

    case ‘北海道’:
    $shipping_charge = 1450 * $deliveryNum;
    break;
    default:
    break;
    }
    return $shipping_charge;
    }

    【wc_item_single.php末尾に】

    <!– end of content –>
    <?php echo usces_get_item_count(); ?>
    <?php get_footer(); ?>

    ——————————————-
    WordPress のバージョン:5.4.2
    Welcart のバージョン:1.9.30.2004241
    PHP のバージョン:7.3
    ご利用のテーマ:(自作テーマ)
    症状を確認したブラウザ:safari
    サーバー:xserver
    SSLの利用:常時SSL
    ——————————————–

    #90312

    yskysmr
    キーマスター

    こんにちは。

    カスタマイズのコードは、ご利用のテーマ配下の functions.php に編集してください。商品が属するカテゴリーを取得するには、WordPress の関数を使用してください。

2件の投稿を表示中 - 1 - 2件目 (全2件中)

このトピックに返信するにはログインが必要です。