当前位置: 首页 > 知识库问答 >
问题:

Woocommerce产品使用jQuery显示价格操纵

令狐昂雄
2023-03-14

基于"获取选定的变化价格在jQuery上WooCommerce可变产品"回答我最后一个问题的代码,此代码获取用户输入到产品选项,我试图使用这些值来计算显示给用户的价格,但我不能弄清楚。

除窗口警报消息上方的部分外,所有代码都有效。我也尝试在警告消息上方的php标记中添加一个过滤函数get\u price\u html(),但它显示了所有类型的错误。

是否可以使用javascript更改显示的价格?

这是我实际使用的代码:

add_action( 'woocommerce_before_add_to_cart_quantity', 'func_option_valgt');
function func_option_valgt() {
    global $product;

    if ( $product->is_type('variable') ) {
        $variations_data =[]; // Initializing

        // Loop through variations data
        foreach($product->get_available_variations() as $variation ) {
            // Set for each variation ID the corresponding price in the data array (to be used in jQuery)
            $variations_data[$variation['variation_id']] = $variation['display_price'];
        }
        ?>
        <script>
        jQuery(function($) {
            var jsonData = <?php echo json_encode($variations_data); ?>,
                inputVID = 'input.variation_id';

            $('input').change( function(){
                if( '' != $(inputVID).val() ) {
                    var vid      = $(inputVID).val(), // VARIATION ID
                        length   = $('#cfwc-title-field').val(), // LENGTH
                        diameter = $('#diameter').val(),  // DIAMETER
                        vprice   = ''; // Initilizing

                    // Loop through variation IDs / Prices pairs
                    $.each( jsonData, function( index, price ) {
                        if( index == $(inputVID).val() ) {
                            vprice = price; // The right variation price
                        }
                    });

                    var rope_price = length*vprice;
                    document.cookie = 'rope_price_cookie='+rope_price;

                    ////////// This is where I would like to add some code to change the displayed price //////
                    $('price') = rope_price;  /// something like this, only it doesn't work :(

                    alert('variation Id: '+vid+' || Length: '+length+' || Diameter: '+diameter+' || Variantprice: '+vprice+' ||Rope price: '+rope_price);

                        }
                    }
            });
        });
        </script>
        <?php       
    }   
}

任何帮助赞赏。

共有1个答案

濮赤岩
2023-03-14

您可以为

$("#price").html(rope_price);

请注意,#表示一个ID,您还可以使用类选择器(.price),如果您在页面的多个部分显示价格,这将非常有用。然后,您可以在使用类时一次更新所有这些元素(使其成为一个更具描述性的类,然后price以防止名称冲突)

 类似资料:
  • 我在我的WooCommerce 2.6.4商店上使用可变产品,我为同一产品的两种不同变体添加了不同的价格。当选择两个变体中的一个时,根本不显示任何价格。下面的div只是空的: 我希望预选的变异价格显示为默认,而非预选的变异价格应在选择时动态替换。几乎像这个演示,除了从一个预选的项目和价格应该显示为默认。

  • 我对每个包含不同价格的产品都有一些变化,我试图用jQuery获得产品的可变价格,我得到了,但是下面的代码只得到最小变化价格,我想得到当前变化的当前价格。然后,当我更改另一个选择值时,前端的变化会以正确的价格进行更改,但在控制台日志中,会反复显示最小价格,而不是相应变化的相应价格。 我试图研究和wp util。js文件来寻找一些方法,但我不能这样做。 有没有一种方法可以正确地检索当前变化价格与jQu

  • 我的商店里的价格是带税显示的,我还使用{price_unclused_tax}后缀来显示不含税的价格。但可变产品存在一个问题。。。商店只显示含税价格(促销时显示原价),但不显示不含税价格。两种可变产品的价格相同。我尝试使用以下代码: https://tomjesch.com/display-woocommerce-products-with-and-without-tax/ 但它不能正常工作-它显

  • 在WooCommerce中,我使用这个胎面的代码,用一个简短的代码显示定义的产品ID中的产品价格。但它并不真的像我想要的那样。代码如下: 我对php编码知识很差。但我看到另一个线程显示产品价格: 我已经尝试将这些代码混合到大代码中,并替换了……它起作用了,但我想要的是显示价格的东西是这样的: 我需要在价格后面显示货币符号,像:(中间有空格),而不是像。 我怎样才能使它以一种干净的正常方式工作?

  • 我正在创建一个WooCommerce商店,在那里我销售颜色/尺寸变化的产品。除此之外,我还使用WooCommerce产品附加组件,让用户输入一个将绣在他们产品上的名称。我整齐地输入所有的产品变化像这样: 在发布产品后,它没有显示任何价格。这怎么可能?产品如何在前端显示的屏幕截图: 我用于WooCommerce的插件和附加组件: WooCommerce产品插件 WooCommerce打印发票

  • 我使用Woocommerce插件在wordpress中开发了购物车。我需要按产品价格在购物车订单中显示产品,请帮助我做到这一点 谢啦