Woocommerce ist ein leistungsstarkes Plugin/Framework, das es ermöglicht, einen Online-Shop mit WordPress einzurichten. Sie können die Attribute für jede Ware bearbeiten, aber manchmal haben Sie so viele Artikel, dass es einige Zeit dauern kann, ein bestimmtes Attribut für einen Artikel zu aktualisieren.
Wenn Sie beispielsweise vergessen haben, den regulären Preis für Artikel anzugeben, wird kein regulärer Preis in Kreuzschrift angezeigt, z. B. ~100,00 GBP~. Aber es wäre schön, den regulären Preis anzugeben, damit die Kunden das Gefühl haben, dass die Artikel im Angebot (günstiger) sind, und dies erhöht sicherlich die Kaufrate.
Sie können ein komplexes SQL schreiben, um die Metadaten zu aktualisieren, aber es ist riskant und möglicherweise nicht so flexibel wie die folgende Methode. Fügen Sie den folgenden PHP-Code in die template functions.php Ihres Child-Themes ein
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);
Das ist es. Wenn der reguläre Preis nicht eingegeben wird, wird der standardmäßige reguläre Preis angezeigt, der $price_factor mal dem Verkaufspreis ist. Andernfalls erfolgt eine Sicherheitsprüfung, um sicherzustellen, dass der reguläre Preis immer über dem Verkaufspreis liegt.
Da dies die Datenbank nicht verändert, gilt dies als die sicherste Art, die Tricks auszuspielen. Der Filter woocommerce_get_regular_price wird hinzugefügt, bevor der reguläre Preis zurückgegeben wird.