获取并乘以 WooCommerce 产品格式的价格以插入 Javascript

问题描述 投票:0回答:1

我正在使用此自定义功能来显示模式弹出窗口,根据产品价格告诉客户每月价格。目前效果很好,问题是我们需要将金额乘以4。这样计算时就可以显示每月的正确价格。 --例如:如果 4 套(轮胎)的价格为 500.00 美元 --> 那么每月付款是基于 500 而不是 125,这会让客户感到困惑。

这是我的代码..需要

'_price'
乘以*4

有人可以帮忙解决吗。

function pb_modal() {
$pb_product_price = get_post_meta( get_the_ID(), '_price', true);

$pb_product_format = number_format((float)$pb_product_price, 2, '.', '');
echo "<script id='pb_prequalify' type='text/javascript' src='https://app.paybright.com/dist/sdk.js?public_key=[MY API KEY]&financedamount=$$pb_product_format'></script>";
echo "<script>
pb_prequalify_init({
    triggerElement: 'link',  
    triggerText: 'Credit available with <br> Prequalify now',
    lang: 'en',
    hideTriggerLeadText: true,
    noFiguresInModal: true,
    });
</script>
";
    echo "<div id='paybright-widget-container'></div>";
  }
    add_action( 'woocommerce_after_add_to_cart_form', 'pb_modal', 1);
javascript php woocommerce product
1个回答
1
投票

更新 - 您可以使用以下内容获取要显示的原始产品价格,将其乘以 4 并以正确的方式格式化:

add_action( 'woocommerce_after_add_to_cart_form', 'wc_pb_modal', 1 );
function wc_pb_modal() {
    global $product;
    
    if ( ! is_a($product, 'WC_Product') ) {
        $product = wc_get_product(get_the_ID());
    }

    if ( $product->is_type('variable') ) {
        return; // Exit if a variable product
    }

    $formatted_price = strip_tags( wc_price( wc_get_price_to_display( $product ) * 4 ) );
    $my_api_key      = '[MY API KEY]'; // Here set your api key
    
    echo "<script id='pb_prequalify' type='text/javascript' src='https://app.paybright.com/dist/sdk.js?public_key=$my_api_key&financedamount=$formatted_price'></script>
    <script>
    pb_prequalify_init({
        triggerElement: 'link',  
        triggerText: 'Credit available with <br> Prequalify now',
        lang: 'en',
        hideTriggerLeadText: true,
        noFiguresInModal: true,
    });
    </script>
    <div id='paybright-widget-container'></div>";
}

代码位于活动子主题(或活动主题)的functions.php 文件中。应该可以。

© www.soinside.com 2019 - 2024. All rights reserved.