Як показати звичайну ціну за умовчанням для Woocommerce/WordPress на основі ціни продажу?
Woocommerce — це потужний плагін/фреймворк, який дає змогу створити інтернет-магазин за допомогою WordPress. Ви можете редагувати атрибути для кожного товару, але іноді у вас так багато товарів, що може знадобитися час, щоб оновити певний атрибут для товару.
Наприклад, якщо ви забули вказати звичайну ціну для товарів, вона не відображатиметься перехресними шрифтами, як-от ~100,00 GBP~. Але було б непогано вказати звичайну ціну, щоб клієнти відчули, що товари продаються (дешевше), і це, безперечно, збільшить рівень покупки.
Ви можете написати складний SQL для оновлення метаданих, але це буде ризиковано та може бути не таким гнучким, як наступний метод. Розмістіть наведений нижче код PHP у шаблоні functions.php дочірньої теми
function helloacm_regular_price( $price, $product) {
$price_factor = 1.3; // show sale price * 1.3
$sale_price = $product->get_sale_price(); // get sale price
if (!is_numeric($sale_price)) { // sale price not set
return $price; // return default price.
}
$exp_price = $sale_price * $price_factor; // get expected regular price
if ($price > 0) { // if regular price is filled
if ($price < $sale_price) { // if it is even smaller than sale price
return $exp_price; // return corrected regular price
}
return $price; // otherwise return the input regular price
}
return $exp_price; // return the default regular price
}
add_filter( 'woocommerce_get_regular_price', 'helloacm_regular_price', 10, 2);
Це все. Якщо звичайну ціну не введено, відображатиметься звичайна ціна за умовчанням, яка дорівнює $price_factor, помноженому на ціну продажу. В іншому випадку буде проведено перевірку безпеки, щоб переконатися, що звичайна ціна завжди вища за ціну продажу.
Це не змінює базу даних, тому це вважається найбезпечнішим способом виконання трюків. Перед поверненням звичайної ціни додається фільтр woocommerce_get_regular_price .