2回表示される配送方法に基づく動的情報

トリシャ

この例(Woocommerceの配送方法とカートの合計に基づく動的情報)から作業を試みましたが、動的メッセージが2回表示されます。どんな助けでも大歓迎です。

基本的に私がやろうとしているのは、ユーザーの配送が配達エリア外にある場合にメッセージを表示することです(WooCommerceの「他のゾーンでカバーされていない場所」配送ゾーンを使用)。メッセージは、ユーザーが定義された配送ゾーンにいない場合にのみ正しく表示されますが、2倍になります。1つはajaxリフレッシュ内にあるようで、もう1つはその外にあるようです。それがどのように、またはなぜそれをしているのか正確にはわかりません。

//add message to CHECKOUT if outside delivery area
add_action( 'woocommerce_review_order_after_shipping', 'outside_delivery_checkout', 20);
function outside_delivery_checkout() {
    global $woocommerce;
    if ( did_action( 'woocommerce_review_order_after_shipping' ) >= 2 ) {
        return once;
    }

    $chosen_shipping_method_id = WC()->session->get( 'chosen_shipping_methods' )[0];
    $chosen_shipping_method    = explode(':', $chosen_shipping_method_id)[0];
    $cart_subtotal             = WC()->cart->subtotal;

    if ($cart_subtotal && $chosen_shipping_method === 'free_shipping') {
        echo '<div class="outside-delivery checkout"><b>PLEASE NOTE:</b><br /> Your shipping destination is outside of our normal delivery area. Our team will call you to calculate an additional fuel surcharge. <strong>Please refresh the page after updating your shipping settings.</strong></div>';
    } elseif ($cart_subtotal && $chosen_shipping_method != 'free_shipping') {
        // do nothing
    }
}

この問題へのリンクは次のとおりです。https//redstarrolloffqc.com/dumpster-sizes-rates/-製品を追加して、チェックアウトページに移動します。

LoicTheAztec

ここでの主な問題は、<div>htmlタグを閉じた直後のhtml内に、<table>コンテンツを含むhtmlタグを挿入しようとしていることです</tr>

そのため、表示されたHtmlは表示されなくても損益分岐点になります

代わりに、次のhtml構造を使用する必要があります。

<tr><td colspan="2"><div>Your formatted text (message)</div></td></tr>

現在、did_action()条件はコードに影響を与えglobal $woocommerceず、必須はありません(そしてしばらくの間古くなっています)。

このようにして、コンテンツは必要に応じてテーブル行に表示されます。

これはあなたの問題を確実に解決します

したがって、コードは次のようになります。

//add message to CHECKOUT if outside delivery area
add_action( 'woocommerce_review_order_after_shipping', 'outside_delivery_checkout', 20);
function outside_delivery_checkout() {
    $chosen_shipping_method_id = WC()->session->get( 'chosen_shipping_methods' )[0];
    $chosen_shipping_method    = explode(':', $chosen_shipping_method_id)[0];
    $cart_subtotal             = WC()->cart->subtotal;

    if ( $cart_subtotal && $chosen_shipping_method === 'free_shipping' ) {
        $html  = '<tr class="delivery-message"><td colspan="2"><div class="outside-delivery checkout">
            <strong>' . __("PLEASE NOTE:") . '</strong><br />';
        $html .= __("Your shipping destination is outside of our normal delivery area. Our team will call you to calculate an additional fuel surcharge.");
        $html .= ' <strong>' . __("Please refresh the page after updating your shipping settings.") . '</strong>';
        echo $html . '</div></td></tr>';
    }
}

コードは、アクティブな子テーマ(またはアクティブなテーマ)のfunctions.phpファイルに入ります。テストされ、動作します。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

押されたボタンに基づいて情報を表示する

分類Dev

アコーディオンに動的情報を正しく表示させる方法

分類Dev

指定された検索キーワードに基づいて Gmail から情報を取得する方法

分類Dev

別の列に表示される回数に基づく条件付き書式セル

分類Dev

SonarQubeで報告された問題に基づいてTFS 2015でバグを自動的に作成する方法は?

分類Dev

Woocommerceの商品カテゴリに基づいて配送方法を非表示にする

分類Dev

テーブルに格納されているテーブルと列の情報に基づいてSQLクエリを動的に構築する

分類Dev

表示される数に基づく配列カウント

分類Dev

配送クラスに基づいてWooCommerceの配送方法を条件付きで非表示

分類Dev

一部のセッション情報に基づいてSpring Beanを自動配線する方法

分類Dev

Jbuilderを使用して、子情報が下にネストされた親情報を表示する方法

分類Dev

exifデータに基づいて画像を自動的に回転させる方法

分類Dev

別のテーブルに保存されている情報に基づいて行を選択します

分類Dev

ドロップダウン情報に基づいて情報を表示するjQuery

分類Dev

起動中に黒い画面、情報が表示されない

分類Dev

ストア情報とモデルhasMany関係に基づいてコントローラーで計算された属性を作成する方法

分類Dev

検索クエリに基づいてFirebase情報を表示する[Firebase] [Swift]

分類Dev

Javaで配列に格納された情報を表示する方法

分類Dev

結合されたテーブルの情報をDataGridViewに表示する方法

分類Dev

与えられたコロマ情報に基づいてビデオのサイズを計算する方法は?

分類Dev

データフレーム名から情報を抽出し、それに基づいて列を作成する方法

分類Dev

注文金額に基づく定額配送

分類Dev

配送先に基づくMagentoの税率

分類Dev

WooCommerceのユーザーメタデータに基づいて配送方法を表示または非表示にする

分類Dev

2番目のファイルの情報に基づいて最初のファイル内の情報をグループ化する方法は?

分類Dev

Django-フロントエンドのユーザーから提供された情報に基づいてクエリを作成します。すべてのフィルターが毎回使用されるわけではありません。これを達成する方法は?

分類Dev

Woocommerceで選択した配送方法に基づいて支払い方法を非表示にする

分類Dev

WooCommerceで選択した配送方法に基づいて支払い方法を非表示にする

分類Dev

別の列の開始-停止情報に基づいて値を作成する方法

Related 関連記事

  1. 1

    押されたボタンに基づいて情報を表示する

  2. 2

    アコーディオンに動的情報を正しく表示させる方法

  3. 3

    指定された検索キーワードに基づいて Gmail から情報を取得する方法

  4. 4

    別の列に表示される回数に基づく条件付き書式セル

  5. 5

    SonarQubeで報告された問題に基づいてTFS 2015でバグを自動的に作成する方法は?

  6. 6

    Woocommerceの商品カテゴリに基づいて配送方法を非表示にする

  7. 7

    テーブルに格納されているテーブルと列の情報に基づいてSQLクエリを動的に構築する

  8. 8

    表示される数に基づく配列カウント

  9. 9

    配送クラスに基づいてWooCommerceの配送方法を条件付きで非表示

  10. 10

    一部のセッション情報に基づいてSpring Beanを自動配線する方法

  11. 11

    Jbuilderを使用して、子情報が下にネストされた親情報を表示する方法

  12. 12

    exifデータに基づいて画像を自動的に回転させる方法

  13. 13

    別のテーブルに保存されている情報に基づいて行を選択します

  14. 14

    ドロップダウン情報に基づいて情報を表示するjQuery

  15. 15

    起動中に黒い画面、情報が表示されない

  16. 16

    ストア情報とモデルhasMany関係に基づいてコントローラーで計算された属性を作成する方法

  17. 17

    検索クエリに基づいてFirebase情報を表示する[Firebase] [Swift]

  18. 18

    Javaで配列に格納された情報を表示する方法

  19. 19

    結合されたテーブルの情報をDataGridViewに表示する方法

  20. 20

    与えられたコロマ情報に基づいてビデオのサイズを計算する方法は?

  21. 21

    データフレーム名から情報を抽出し、それに基づいて列を作成する方法

  22. 22

    注文金額に基づく定額配送

  23. 23

    配送先に基づくMagentoの税率

  24. 24

    WooCommerceのユーザーメタデータに基づいて配送方法を表示または非表示にする

  25. 25

    2番目のファイルの情報に基づいて最初のファイル内の情報をグループ化する方法は?

  26. 26

    Django-フロントエンドのユーザーから提供された情報に基づいてクエリを作成します。すべてのフィルターが毎回使用されるわけではありません。これを達成する方法は?

  27. 27

    Woocommerceで選択した配送方法に基づいて支払い方法を非表示にする

  28. 28

    WooCommerceで選択した配送方法に基づいて支払い方法を非表示にする

  29. 29

    別の列の開始-停止情報に基づいて値を作成する方法

ホットタグ

アーカイブ