Heim > Backend-Entwicklung > PHP-Tutorial > Wie kann ich Produktpreise in WooCommerce 3 programmgesteuert ändern?

Wie kann ich Produktpreise in WooCommerce 3 programmgesteuert ändern?

Mary-Kate Olsen
Freigeben: 2024-12-08 03:24:10
Original
730 Leute haben es durchsucht

How Can I Programmatically Change Product Prices in WooCommerce 3 ?

Produktpreise über einen Hook in WooCommerce 3 ändern

Die WooCommerce-Plattform bietet verschiedene Hooks, um Produktpreise zu ändern. Während die mit add_filter('woocommerce_get_regular_price') und add_filter('woocommerce_get_price') vorgestellte Lösung für einfache Produkte funktioniert, stößt sie bei Variationsprodukten auf Einschränkungen.

Preisgestaltung für Variationsprodukte

Um die Preise für Variationsprodukte anzupassen, gibt es die folgenden aktualisierten Haken empfohlen:

  • Einfach, gruppiert und extern Produkte:

    • woocommerce_product_get_price
    • woocommerce_product_get_regular_price
  • Variationen:

    • woocommerce_product_variation_get_regular_price
    • woocommerce_product_variation_get_price
  • Variable Produktpalette:

    • woocommerce_variation_prices_price
    • woocommerce_variation_prices_regular_price

Plugin-Implementierung

Um diese Hooks innerhalb zu implementieren Wenn Sie ein Plugin verwenden, berücksichtigen Sie Folgendes:

add_filter('woocommerce_product_get_price', 'custom_price', 99, 2);
add_filter('woocommerce_product_get_regular_price', 'custom_price', 99, 2);

add_filter('woocommerce_product_variation_get_regular_price', 'custom_price', 99, 2);
add_filter('woocommerce_product_variation_get_price', 'custom_price', 99, 2);

add_filter('woocommerce_variation_prices_price', 'custom_variable_price', 99, 3);
add_filter('woocommerce_variation_prices_regular_price', 'custom_variable_price', 99, 3);

function custom_price($price, $product) {
    $multiplier = 2; // Adjust as needed
    return (float) $price * $multiplier;
}

function custom_variable_price($price, $variation, $product) {
    $multiplier = 2; // Adjust as needed
    return (float) $price * $multiplier;
}
Nach dem Login kopieren
Nach dem Login kopieren

Theme-Implementierung

Wenn Sie einen themenbasierten Ansatz bevorzugen, fügen Sie den folgenden Code in Ihre Datei „functions.php“ ein:

add_filter('woocommerce_product_get_price', 'custom_price', 99, 2);
add_filter('woocommerce_product_get_regular_price', 'custom_price', 99, 2);

add_filter('woocommerce_product_variation_get_regular_price', 'custom_price', 99, 2);
add_filter('woocommerce_product_variation_get_price', 'custom_price', 99, 2);

add_filter('woocommerce_variation_prices_price', 'custom_variable_price', 99, 3);
add_filter('woocommerce_variation_prices_regular_price', 'custom_variable_price', 99, 3);

function custom_price($price, $product) {
    $multiplier = 2; // Adjust as needed
    return (float) $price * $multiplier;
}

function custom_variable_price($price, $variation, $product) {
    $multiplier = 2; // Adjust as needed
    return (float) $price * $multiplier;
}
Nach dem Login kopieren
Nach dem Login kopieren

Zusätzliche Hinweise und Verbesserungen

  • Preis-Widget: Für die Manipulation der Mindest- und Höchstwerte des Preisfilter-Widgets sollten Sie die folgenden Hooks verwenden: woocommerce_price_filter_widget_min_amount und woocommerce_price_filter_widget_max_amount.
  • Produktverkauf Preisgestaltung: Für Verkaufspreise gibt es spezifische Hooks: woocommerce_product_get_sale_price, woocommerce_variation_prices_sale_price und woocommerce_product_variation_get_sale_price.
  • Preis-Caching: Zwischengespeicherte Variationspreise in WooCommerce 3 müssen berücksichtigt werden. Der Filter add_filter('woocommerce_get_variation_prices_hash') wird empfohlen, um das Preis-Caching effizient zu handhaben.

Das obige ist der detaillierte Inhalt vonWie kann ich Produktpreise in WooCommerce 3 programmgesteuert ändern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage