С процентной комиссией или надбавкой в зависимости от погоды цены продукта, которая включает или не включает налог, т. е. оба могут быть возможно, поскольку это зависит от местоположения клиента, и цветная метка также должна быть сохранена как часть стоимости для дальнейшего использования, клиент и администратор должны знать уплаченную сумму и цвет, при оформлении заказа, в потребностях заказа / электронных письмах и т. д., и это необходимо для включения налога, если продукт облагается налогом, могут быть дубликаты каждого процента, поэтому нам также нужно спроецировать метку.
Я пытался адаптироваться. Как мне получить поле выбора значение опции из раскрывающегося списка выбора, а также процент настраиваемой комиссии за товар в корзине
с использованием Как добавить переключатель с ценой на странице продукта? WordPress woocommerce в качестве руководства и для вдохновения.
Но ценность не добавляется в корзину.
Вот мой код.
Заранее спасибо, если кто-нибудь сможет помочь.
add_action('woocommerce_before_add_to_cart_button', 'product_option_custom_field', 30 );
function product_option_custom_field(){
global $product;
//$custom_subtotal = get_related_items_subtotal( WC()->cart );
$active_price = (float) $product->get_price();
// surcharge is % of item value, exc tax or inc tax
$colour_surcharge = strip_tags( wc_price( wc_get_price_to_display( $product, array('price' => $custom_subtotal ) ) ) );
// $colour_price_html = strip_tags( wc_price( wc_get_price_to_display( $product, array('price' => $custom_subtotal ) ) ) );
$active_price_html = wc_price( wc_get_price_to_display( $product ) );
$disp_price_sum_html = wc_price( wc_get_price_to_display( $product, array('price' => $active_price + $custom_subtotal ) ) );
$custom_subtotal = (float) $product->get_price();
if ( $custom_subtotal > 0 ) {
// $value = WC()->session->get( 'colour_surcharge' );
// $value = empty( $value ) ? WC()->checkout->get_value( 'colour_surcharge' ) : $value;
$value = empty( $value ) ? '0' : $value;
$domain = 'woocommerce';
// echo '
//
' . __("Select Colour option") .'
';woocommerce_form_field( 'colour_surcharge', array(
'type' => 'select',
'class' => array( 'form-row-wide', 'update_totals_on_change' ),
'label' => __( 'Colour options, standard or premium', 'woocommerce' ),
'desc_tip' => 'true',
'description' => __( 'Select your chosen colour', 'woocommerce' ),
'options' => array(
// 0 would be hidden, using 0.001 works to retain the values
'0.001 black' => __( 'Black - no fee', 'woocommerce' ) . ' (' . strip_tags( wc_price( 0.001 * $custom_subtotal / 100 ) ) . ')',
'15 white' => __( 'White 15% surcharge', 'woocommerce' ) . ' (' . strip_tags( wc_price( 15 * $custom_subtotal / 100 ) ) . ')',
'25 red' => __( 'Red 25% surcharge', 'woocommerce' ) . ' (' . strip_tags( wc_price( 25 * $custom_subtotal / 100 ) ) . ')',
),
), $value );
// Jquery: Update displayed price
?>
jQuery(function($) {
var cb = 'input[name="colour_surcharge"]'
pp = 'p.price';
// On change / select a variation
$('form.cart').on( 'change', cb, function(){
needs to be selected
if( $(cb).prop('selected') === true )
// if( $(cb).prop('checked') === true )
$(pp).html('');
else
$(pp).html('');
})
});
Подробнее здесь: https://stackoverflow.com/questions/790 ... -everywher
Мобильная версия