<?php

foreach ($addon['options'] as $key => $option) {
    $addon_key = 'addon-' . sanitize_title($addon['field-name']);
    $option_key = empty($option['label']) ? $key : sanitize_title($option['label']);
    $current_value = isset($_POST[$addon_key]) && isset($_POST[$addon_key][$option_key]) ? wc_clean($_POST[$addon_key][$option_key]) : '';
    $price = $option['price'] > 0 ? '(' . wc_price(get_product_addon_price_for_display($option['price'])) . ')' : '';
    ?>

	<p class="form-row form-row-wide addon-wrap-<?php 
    echo sanitize_title($addon['field-name']);
    ?>
">
		<?php 
    if (!empty($option['label'])) {
        ?>
			<label><?php 
        echo wptexturize($option['label']) . ' ' . $price;
        ?>
</label>
		<?php 
    }
    ?>
		<input type="number" step="any" class="input-text addon addon-custom-price" name="<?php 
    echo $addon_key;
    ?>
[<?php 
    echo $option_key;
    ?>
]" value="<?php 
    echo esc_attr($current_value);
Exemplo n.º 2
0
    $price = $option['price'] > 0 ? '(' . woocommerce_price(get_product_addon_price_for_display($option['price'])) . ')' : '';
    $current_value = 0;
    if (isset($_POST['addon-' . sanitize_title($addon['field-name'])])) {
        $current_value = isset($_POST['addon-' . sanitize_title($addon['field-name'])]) && in_array(sanitize_title($option['label']), $_POST['addon-' . sanitize_title($addon['field-name'])]) ? 1 : 0;
    }
    ?>

	<p class="form-row form-row-wide addon-wrap-<?php 
    echo sanitize_title($addon['field-name']) . '-' . $i;
    ?>
">
		<label><input type="radio" class="addon addon-radio" name="addon-<?php 
    echo sanitize_title($addon['field-name']);
    ?>
[]" data-price="<?php 
    echo get_product_addon_price_for_display($option['price']);
    ?>
" value="<?php 
    echo sanitize_title($option['label']);
    ?>
" <?php 
    checked($current_value, 1);
    ?>
 /> <?php 
    echo wptexturize($option['label'] . ' ' . $price);
    ?>
</label>
	</p>

<?php 
}
 /**
  * Add meta to orders
  *
  * @access public
  * @param mixed $item_id
  * @param mixed $values
  * @return void
  */
 public function order_item_meta($item_id, $values)
 {
     if (!empty($values['addons'])) {
         foreach ($values['addons'] as $addon) {
             $name = $addon['name'];
             if ($addon['price'] > 0 && apply_filters('woocommerce_addons_add_price_to_name', true)) {
                 $name .= ' (' . strip_tags(woocommerce_price(get_product_addon_price_for_display($addon['price'], $values['data'], true))) . ')';
             }
             woocommerce_add_order_item_meta($item_id, $name, $addon['value']);
         }
     }
 }