質問: みんな、お元気ですか? ShopifyからWoocommerceに移行していますが、Shopifyには、商品の価格を12倍で割った値を示すカスタムコードがありました。これは、受け入れられる分割払いの最大量です。 参考までに、私が使用したコードは次のとおりです:`{{current_variant.price |times:1.1979| divided_by: 12| money }}` 。 このコードでは、I: **1)**現在選択されているバリアントの価格を取得しました(`current _variant.price` ); **2)**分割払いの税金を掛けたもの(`times:1.1979` ); **3)**そしてそれを最大12回の分割払いで割った(`divided_by: 12` )。 Woocommerceで同じことをするにはどうすればよいですか?もちろん、ShopifyのようにLiquidを使用することはできないので、PHPまたはJSを使用する必要があると思います。 また、プラグインを使用することはできません。後で、各分割払い(1xから12x)を計算し、最終的な値をクライアントに表示する完全なテーブルがあるため、貼り付けたこの単純な例でロジックを理解する必要があります。 私が実行しようとしているアイデアは`price * interests / max. installments number`です。 PHPは本当に私の強いスーツではありません、多分それほど断定的ではないことを残念に思います。 どうもありがとう!
回答: ### 答え : #### 解決: 単純商品と変動商品の両方で、割賦価格を商品価格の下に表示したいとしました。 jQueryを使用して、製品価格の下に要素を追加できます。この要素に正しいデータを入力するには、製品価格に基づいて分割払い価格を計算するPHP関数を使用できます。 (この場合は`get_installment_price`と呼ばれます) バリエーションが変更されるたびに可変商品の分割払い価格を再計算する必要があるため、非表示の入力`variation_id`が変更されるたびにAJAXを介してそのPHP関数を呼び出すことができます。この非表示の入力は、現在選択されているバリエーションを保存するためにWooCommerceによって使用されます。 次のコードでうまくいくはずです。 ``` add_action( 'woocommerce_before_single_product', 'show_installment_price_underneath_product_price' ); function show_installment_price_underneath_product_price() { global $product; //Get the installment price for simple products $installment_price = $product->is_type('variable') == false ? get_installment_price( $product ) : 0; ?> get_price() * 1.1979 / 12; $formatted_installment_price = wc_price( $installment_price, array( 'currency' => get_woocommerce_currency() ) ); if ( $variation_id ) { // This is the output for the AJAX call (variable product) echo $formatted_installment_price; wp_die(); } else { // This is the output for the simple product return $formatted_installment_price; } }Copy code ``` これは、子テーマのfunctions.phpに追加するか、コードスニペットなどのプラグインを介して追加する必要があります。