¿Cómo mostrar el precio regular predeterminado para Woocommerce/WordPress según el precio de venta?
Woocommerce es un poderoso complemento/marco que hace posible configurar una tienda en línea usando WordPress. Puede editar los atributos de cada producto, pero a veces tiene tantos artículos que puede llevar tiempo actualizar un atributo particular para un artículo.
Por ejemplo, si olvidó poner el precio regular de los artículos, no mostrará un precio regular en fuentes cruzadas como ~100.00 GBP~. Pero sería bueno poner el precio regular para que los clientes sientan que los artículos están en oferta (más baratos) y esto seguramente aumenta la tasa de compra.
Puede escribir un SQL complejo para actualizar los metadatos, pero será arriesgado y puede que no sea tan flexible como el siguiente método. Coloque el siguiente código PHP en la plantilla functions.php de su tema secundario
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);
Eso es. Si no se ingresa el precio regular, se mostrará el precio regular predeterminado que es $price_factor multiplicado por el precio de venta. De lo contrario, habrá un control de seguridad para garantizar que el precio regular siempre sea mayor que el precio de venta.
Esto no cambia la base de datos, por lo que se considera la forma más segura de jugar los trucos. El filtro woocommerce_get_regular_price se agrega antes de devolver el precio regular.