Отображение цены по умолчанию и выбранного варианта из переменного продукта woocommerce.Php

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Отображение цены по умолчанию и выбранного варианта из переменного продукта woocommerce.

Сообщение Anonymous »

Я искал в Stack ответ, но не нашел его (даже читая это и это)
Вот моя проблема: я хотел бы отобразить (или хотя бы получить переменную) цену по умолчанию и выбранную цену переменного продукта woocommerce.
Система: Wordpress 5,6 + woocommerce
При одиночном продукте мой код работает хорошо, и я получаю такое отображение:
Отображение для одного продукта с переписанным весом и ценой сразу после переключателя количества
И код следующий:

Код: Выделить всё

global $woocommerce;
$productxyz = new WC_Product( get_the_ID() );
$priceproduct = $productxyz->get_regular_price();
$poidsproduct = $productxyz->get_weight();

// CODE FOR THE + AND - QUANTITY
var $ = jQuery;
$(document).ready(function(){
$('.decrement').click(function () {
$moninput = $(this).nextAll('input#Qte');
if( Number($moninput.val()) > $moninput.attr("min") ){
$moninput.val(Number($moninput.val()) - 1);
}else{
$moninput.val($moninput.attr("min"));
}
Update_Price();
event.preventDefault();
})
$('.increment').click(function () {
$moninput = $(this).nextAll('input#Qte');
$moninput.val(Number($moninput.val()) + 1);
Update_Price();
event.preventDefault();
})
$('#btn-cady').click(function () {
$('[name="add-to-cart"]').click();
event.preventDefault();
})

// CODE FOR THE TEXT DISPLAYED ON THE RIGHT OF THE QUANTITY SELECTOR
function Update_Price(){
if($('input#Qte').attr('price') > 0){
$total =  parseFloat($('input#Qte').val()) * $('input#Qte').attr('price');
$qtyactuelle = parseFloat($('input#Qte').val());
$('input[name="quantity"]').val($('input#Qte').val());
console.log($total);
if( $qtyactuelle < 2){
$('.Qtotal h4').html("pack soit " +($('input#Qte').attr('weight')*parseFloat($('input#Qte').val()))+"g | "+parseFloat($total).toFixed(2)+" €");
}
if($qtyactuelle > 1){
$('.Qtotal h4').html("packs soit " +($('input#Qte').attr('weight')*parseFloat($('input#Qte').val()))+"g | "+parseFloat($total).toFixed(2)+" €");
}
}
}
Update_Price();
});
Но что касается вариации продукта... мне так стыдно показывать свой результат, потому что, когда он отображается хорошо, функция не работает. И когда функции работают, отображение очень ужасное.
Результат кода для варианта продукта.
Я пытался использовать get_available_variations(), а также следующий foreach, но...

Код: Выделить всё

foreach( $product->get_available_variations() as $variation ){
$found = true;
// Loop through variation attributes
foreach( $variation['attributes'] as $key => $value ){
$taxonomy = str_replace( 'attribute_', '', $key );
// Searching for a matching variation as default
if( isset($default_attributes[$taxonomy]) && $default_attributes[$taxonomy] != $value ){
$found = false;
break;
}
}
// If we get the default variation
if( $found ) {
$default_variaton = $variation;
break;
}
Есть ли у кого-нибудь идеи, как его разработать? Я потерял дар речи.
Заранее большое спасибо!!!

Подробнее здесь: https://stackoverflow.com/questions/653 ... le-product
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Php»