• Вопрос без рабочей ссылки на проблему считается риторическим. Без ссылки и скриншота - провокацией!
  • Темы озаглавленные с маленькой буквы или капсом удаляются без предупреждения!

Изменить отображение цены

katyabr108

Новичок
Подскажите пожалуйста как сделать так чтобы товар добавлялся в корзину по цене без учета скидки(по высшей цене) . А на главной и в карточке был со скидкой
 

usmdamir

Новичок
добрый день.
как сделать, чтобы при выборе выриации цена под заголовком менялась на цену вариации?
т.е. сейчас стоимость 12 000 - 18 000, выбираем вариацию и диапазон убирается, а остается только цена вариации, допустим 16 000
 

ADv

Гуру
Местный
http://www.mojomarketplace.com/item/simple-variation-price-for-woocommerce-plugin/details
написано что для одного домена, честно не знаю, могу поделиться за полцены архивом, может сработает.
Нет, спасибо. Я сам писал, потому как не нашел готового решения. Оказалось, что плохо искал.
 

ADv

Гуру
Местный
Добрый день, а не подскажите хоть в каком направлении копать, чтоб найти решение проблемы?
Скрипт + функция. В итоге: переключая вариации, изменяется поле основной цены товара, а дублирующаяся вариативная цена - скрывается.
 

Alexandrovna

Новичок
Скрипт + функция. В итоге: переключая вариации, изменяется поле основной цены товара, а дублирующаяся вариативная цена - скрывается.
Я за ночь наоборот, скрыла основную цену только в карточке товара, а вариативная переключается и работает. Не знаю чем в дальнейшем мне это грозит, но на данный момент работает)
 

ADv

Гуру
Местный
Я за ночь наоборот, скрыла основную цену только в карточке товара, а вариативная переключается и работает. Не знаю чем в дальнейшем мне это грозит, но на данный момент работает)
А с простыми товарами как? У них тоже основная цена скрылась?
 

Alexandrovna

Новичок
А с простыми товарами как? У них тоже основная цена скрылась?
У меня, к счастью, таковых почти нет, буквально несколько позиций, но цена в них присутствует. Скрипт скрывает только в карточке и только в вариативном товаре.
 

Dremychi

Новичок
Добрый день, подскажите взял такой код для phunctions.php
Пропала цена на товары без скидки. Если скидка есть то цена отображается.

function my_simple_product_price_html($price, $product) {
if ($product->is_type('simple')) {
$regular_price = $product->get_regular_price();
$sale_price = $product->get_sale_price();
$price_amt = $product->get_price();
return my_commonPriceHtml($price_amt, $regular_price, $sale_price);
} else {
return $price;
}
}

add_filter('woocommerce_variation_sale_price_html', 'my_variable_product_price_html', 10, 2);
add_filter('woocommerce_variation_price_html', 'my_variable_product_price_html', 10, 2);

function my_variable_product_price_html($price, $variation) {
$variation_id = $variation->variation_id;
//creating the product object
$variable_product = new WC_Product($variation_id);

$regular_price = $variable_product->get_regular_price();
$sale_price = $variable_product->get_sale_price();
$price_amt = $variable_product->get_price();

return my_commonPriceHtml($price_amt, $regular_price, $sale_price);
}

add_filter('woocommerce_variable_sale_price_html', 'my_variable_product_minmax_price_html', 10, 2);
add_filter('woocommerce_variable_price_html', 'my_variable_product_minmax_price_html', 10, 2);

function my_variable_product_minmax_price_html($price, $product) {
$variation_min_price = $product->get_variation_price('min', true);
$variation_max_price = $product->get_variation_price('max', true);
$variation_min_regular_price = $product->get_variation_regular_price('min', true);
$variation_max_regular_price = $product->get_variation_regular_price('max', true);

if (($variation_min_price == $variation_min_regular_price) && ($variation_max_price == $variation_max_regular_price)) {
$html_min_max_price = $price;
} else {
$html_price = '<p class="price">';
$html_price .= '<ins>' . wc_price($variation_min_price) . '-' . wc_price($variation_max_price) . '</ins>';
$html_price .= '<del>' . wc_price($variation_min_regular_price) . '-' . wc_price($variation_max_regular_price) . '</del>';
$html_min_max_price = $html_price;
}

return $html_min_max_price;
}

add_filter('woocommerce_variation_sale_price_html','sale_prices_custom_labels', 10, 2 );
add_filter('woocommerce_sale_price_html','sale_prices_custom_labels', 10, 2 );
function sale_prices_custom_labels( $price, $product ){
if (isset($product->sale_price)) {
$price = '<del class="strike">' . __('Old Price: ', 'woocommerce' ) . woocommerce_price( $product->regular_price ). '</del>
<ins class="highlight">' . __('New Price: ', 'woocommerce' ) . woocommerce_price( $product->sale_price ) . '</ins>';
}
else
{
$price = '<ins class="highlight">'.woocommerce_price( $product->regular_price ).'</ins>';
}
return $price;
}
 

buben90

Новичок
Здравствуйте, подскажите пожалуйста как мне добавить цена "От " для одной категории товаров.? перерыл уже пол интернета все не рабочие варианты.
 

ADv

Гуру
Местный
Здравствуйте, подскажите пожалуйста как мне добавить цена "От " для одной категории товаров.? перерыл уже пол интернета все не рабочие варианты.
Попробуйте
PHP:
add_filter( 'woocommerce_get_price_html', 'advokatb_single_change_displayed_price_html', 10, 2 );
function advokatb_single_change_displayed_price_html( $price, $product ) {
    if( is_product_category( 'shirts' )  ){
        $price = 'От: ' . $price;
    }
    return $price;
}
 

buben90

Новичок
Попробуйте
PHP:
add_filter( 'woocommerce_get_price_html', 'advokatb_single_change_displayed_price_html', 10, 2 );
function advokatb_single_change_displayed_price_html( $price, $product ) {
    if( is_product_category( 'shirts' )  ){
        $price = 'От: ' . $price;
    }
    return $price;
}
Получилось. Отображается только в общем списке товара. Если перейти в товар там цена без "от" и рекомендуемый товар тоже без "от". Подскажите как поправить .? )
 

ADv

Гуру
Местный
Получилось. Отображается только в общем списке товара. Если перейти в товар там цена без "от" и рекомендуемый товар тоже без "от". Подскажите как поправить .? )
Попробуйте добавить строку, просто еще одну
PHP:
add_filter( 'woocommerce_cart_item_price', 'advokatb_single_change_displayed_price_html' );
 

ADv

Гуру
Местный
изменений не каких
Подзатупил.
Попробуйте так

PHP:
add_filter( 'woocommerce_get_price_html', 'advokatb_single_change_displayed_price_html', 10, 2 );
function advokatb_single_change_displayed_price_html( $price, $product ) {
    if( is_product_category( 'shirts' ) || has_term( 'shirts', 'product_cat' ) ){
        $price = 'От: ' . $price;
    }
    return $price;
}
Строчка кода выше - не нужна.
 

buben90

Новичок
Подзатупил.
Попробуйте так

PHP:
add_filter( 'woocommerce_get_price_html', 'advokatb_single_change_displayed_price_html', 10, 2 );
function advokatb_single_change_displayed_price_html( $price, $product ) {
    if( is_product_category( 'shirts' ) || has_term( 'shirts', 'product_cat' ) ){
        $price = 'От: ' . $price;
    }
    return $price;
}
Строчка кода выше - не нужна.
Огромное спасибо, добрый человек.)) все работает
 
Сверху Снизу