Jak wyświetlić domyślną cenę regularną dla Woocommerce/WordPress na podstawie ceny sprzedaży?
Woocommerce to potężna wtyczka/framework, który umożliwia założenie sklepu internetowego za pomocą WordPressa. Możesz edytować atrybuty dla każdego towaru, ale czasami masz tak wiele produktów, że aktualizacja konkretnego atrybutu dla towaru może zająć trochę czasu.
Na przykład, jeśli zapomniałeś podać normalną cenę przedmiotów, nie wyświetli ona regularnej ceny czcionką krzyżową, taką jak ~100,00 GBP~. Ale fajnie byłoby ustawić cenę regularną, aby klienci czuli, że produkty są na wyprzedaży (tańsze), a to z pewnością zwiększa wskaźnik zakupu.
Możesz napisać złożony kod SQL, aby zaktualizować metadane, ale będzie to ryzykowne i może nie być tak elastyczne niż poniższa metoda. Umieść następujący kod PHP w szablonie Twojego motywu potomnego 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);
To jest to. Jeśli cena regularna nie zostanie wprowadzona, wyświetli domyślną cenę regularną, która wynosi $price_factor razy cena sprzedaży. W przeciwnym razie zostanie przeprowadzona kontrola bezpieczeństwa, aby upewnić się, że regularna cena jest zawsze wyższa niż cena sprzedaży.
Nie zmienia to bazy danych, więc jest uważany za najbezpieczniejszy sposób na robienie sztuczek. Filtr woocommerce_get_regular_price jest dodawany przed zwróceniem normalnej ceny.