added extra optin
This commit is contained in:
parent
fd3dfce0e5
commit
6059637b16
85
inc/mep_extra_price.php
Normal file
85
inc/mep_extra_price.php
Normal file
@ -0,0 +1,85 @@
|
||||
<?php
|
||||
|
||||
function mep_output_add_to_cart_custom_fields() {
|
||||
global $post, $product;
|
||||
$pid = $post->ID;
|
||||
$count=1;
|
||||
$mep_events_extra_prices = get_post_meta($post->ID, 'mep_events_extra_prices', true);
|
||||
if ( $mep_events_extra_prices ){
|
||||
foreach ($mep_events_extra_prices as $field) {
|
||||
?>
|
||||
<label class='event_addt_price' for="eventp<?php echo $count; ?>">
|
||||
<input id="eventp<?php echo $count; ?>" class='event_addt_price_list' type="checkbox" data-price="<?php echo $field['option_price']; ?>" name='event_addt_price[]' value='<?php echo str_replace(' ', '-',$field['option_name'])."_".$field['option_price']; ?>'><?php echo $field['option_name']; ?> - <?php echo get_woocommerce_currency_symbol().$field['option_price']; ?>
|
||||
</label>
|
||||
<?php
|
||||
$count++;
|
||||
}
|
||||
}
|
||||
}
|
||||
add_action( 'event_kaku_before_reg_btn', 'mep_output_add_to_cart_custom_fields', 10 );
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
function mep_add_custom_fields_text_to_cart_item( $cart_item_data, $product_id, $variation_id ) {
|
||||
$tp = get_post_meta($product_id,'_price',true);
|
||||
|
||||
if (isset($_POST['add-to-cart'])) {
|
||||
$name = $_POST['event_addt_price'];
|
||||
$count =1;
|
||||
foreach ($name as $color){
|
||||
$cart_item_data["AddtP_".$count] = $color;
|
||||
$price = mep_get_item_price($color);
|
||||
$tp = ($tp+$price);
|
||||
$count++;
|
||||
}
|
||||
}
|
||||
$cart_item_data['event_tp'] = $tp;
|
||||
$cart_item_data['line_total'] = $tp;
|
||||
$cart_item_data['line_subtotal'] = $tp;
|
||||
return $cart_item_data;
|
||||
}
|
||||
add_filter( 'woocommerce_add_cart_item_data', 'mep_add_custom_fields_text_to_cart_item', 10, 3 );
|
||||
|
||||
|
||||
|
||||
add_action( 'woocommerce_before_calculate_totals', 'add_custom_price' );
|
||||
function add_custom_price( $cart_object ) {
|
||||
|
||||
foreach ( $cart_object->cart_contents as $key => $value ) {
|
||||
$cp = $value['event_tp'];
|
||||
$value['data']->set_price($cp);
|
||||
$new_price = $value['data']->get_price();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
function mep_display_custom_fields_text_cart( $item_data, $cart_item ) {
|
||||
$count =1;
|
||||
echo "<ul class='event-custom-price'>";
|
||||
foreach ($cart_item as $_cart_item){
|
||||
if(!empty($cart_item["AddtP_".$count])){
|
||||
echo "<li>".mep_get_item_name($cart_item["AddtP_".$count])." - ".get_woocommerce_currency_symbol().mep_get_item_price($cart_item["AddtP_".$count])."</li>";
|
||||
}
|
||||
$count++;
|
||||
}
|
||||
echo "</ul>";
|
||||
return $item_data;
|
||||
}
|
||||
add_filter( 'woocommerce_get_item_data', 'mep_display_custom_fields_text_cart', 10, 2 );
|
||||
|
||||
|
||||
function mep_add_custom_fields_text_to_order_items( $item, $cart_item_key, $values, $order ) {
|
||||
$count =1;
|
||||
|
||||
foreach ($values as $_values){
|
||||
|
||||
$item->add_meta_data( __( mep_get_item_name($values["AddtP_".$count]), 'atn' ), get_woocommerce_currency_symbol().mep_get_item_price($values["AddtP_".$count]) );
|
||||
$count++;
|
||||
}
|
||||
|
||||
}
|
||||
add_action( 'woocommerce_checkout_create_order_line_item', 'mep_add_custom_fields_text_to_order_items', 10, 4 );
|
Loading…
x
Reference in New Issue
Block a user