Мне надо сделать цену товара на кнопке добавления в корзину. В товаре.
В каталоге не надо.
Вот тут
Я сначала использовал популярный в этой теме сниппет, но исправил под себя, потому что мне на странице магазина не надо
add_filter( 'woocommerce_product_single_add_to_cart_text', 'custom_add_to_cart_price', 20, 2 ); //
function custom_add_to_cart_price( $button_text, $product ) {
// Variable products
if( $product->is_type('variable') ) {
if( is_product() ){
$product_price = wc_price( wc_get_price_to_display( $product, array( 'price' => $product->get_variation_price() ) ) );
return $button_text . ' за ' . strip_tags( $product_price );
}
}
if(is_single() && $product->is_type('simple'))
{
$product_price = wc_price( wc_get_price_to_display( $product ) );
return $button_text . ' за ' . strip_tags( $product_price );
}
// All other product types
else {
return $button_text;
}
}
Но к переключению вариаций оно не френдли - при переключении значение цены на кнопке не менялось, потому что там свой скрипт, до которого я не знаю как добраться.
Для этого использовал jquery - вышестоящший сниппет оставил для простых товров, а этим скриптом на вариативных я перебиваю
jQuery(document).on('found_variation', 'form.cart', function( event, variation ) {
var qty = jQuery('.summary .quantity .qty').val();
jQuery('.summary .single_add_to_cart_button').html(variation.price_html);
jQuery('button.single_add_to_cart_button .price').prepend('У кошик за ');
});
Вот так срабатывает, при переключении вариаций цифра внутри кнопки меняется.
Но мне все еще нужен калькулятор.
И на простом, и на вариативном товаре.
Умножить числовое значение цены в простом товаре и цены вариации в вариативном на количество.
Собственно этот кусок рабочий
var vqty = jQuery('.summary .quantity .qty').val();
Мне кажется, должно быть то-то типа var vprice = parseInt('.woocommerce-variation-price bdi')), vprice*vqty, но что пробовал - не сработало, как вырулить этот калькулятор до конца?