我正在使用“ 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脚本?
答案 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'] );
}
}