如何使用多个过滤选项会影响Woocommerce简单产品的价格?

时间:2019-05-14 07:57:34

标签: javascript php jquery wordpress woocommerce

我正在使用Add a select field that will change price in Woocommerce simple products答案代码。它仅使用单个选择字段进行过滤。我想使用 jQuery 扩展此代码,以便能够使用多个字段进行过滤。

示例:2个选择字段,一个文本,一个复选框和一些单选按钮,这些都将确定最终的计算价格。

// Select field
woocommerce_form_field('materials_pack', array(
    'type'          => 'select',
    'class'         => array('material-field form-row-wide'),
    'label'         => __('Select Materials:', $domain),
    'required'      => true,
    'options'       => $options,
),'');   

<script>
jQuery(function($){
    var a = <?php echo json_encode($prices); ?>,
        b = 'p.price',
        c = 'select[name="materials_pack"]';

    $(c).on( 'change', function(){
        $.each( a, function( key, value ){
            if( $(c).val() == key )
                $(b).html(value);
        });
    });
});
</script>

如何将其用于多个字段?以及如何执行jquery脚本?

1 个答案:

答案 0 :(得分:0)

好吧,我现在找到答案here了,我只需要在此代码中怎么做?

add_action('woocommerce_before_calculate_totals', 'set_cutom_cart_item_price', 20, 1);

foreach (  $cart->get_cart() as $cart_item ) {
    if ( isset( $cart_item['material_data']['new_price'] ) ){
        $cart_item['data']->set_price( $cart_item['material_data']['new_price'] );
    }
}