it-swarm.com.de

Woocommerce - Festlegen des Standardpreises für das Produkt

Ich benutze woocommerce bei der Arbeit für Geräteanfragen, daher müssen alle Produkte, die ich erstellen werde, £ 0 sein. Ist es möglich, einen Standardwert von 0 für das reguläre Preisfeld im Formular zum Hinzufügen von Produkten festzulegen?

Danke Jack

3
lupo

Sie könnten eine Überprüfung des Hooks save_post durchführen, aber WooCommerce verfügt bereits über einen Hook für die Verarbeitung von Meta, bei dem die Post-Typ- und Sicherheitsüberprüfungen bereits durchgeführt wurden. Verwenden Sie also ihren Hook, um nach einer Null-Zeichenfolge für den regulären Preis zu suchen und sie auf 0 zu setzen.

function wpa104760_default_price( $post_id, $post ) {

    if ( isset( $_POST['_regular_price'] ) && trim( $_POST['_regular_price'] ) == '' ) {
        update_post_meta( $post_id, '_regular_price', '0' );
    }

}
add_action( 'woocommerce_process_product_meta', 'wpa104760_default_price' );

Ich bin mir nicht sicher, was Sie mit WooCommerce versuchen, aber ich hatte einen Kunden, der http://a3rev.com/shop/woocommerce-quotes-and-orders/ verwendete, um von einem normalen Preis-/Warenkorb-Geschäft zu einem zu wechseln Katalog "Angebotsanfrage".

Bearbeiten: Während das oben Gesagte bei jeder Erstellung/Aktualisierung eines Produkts eine 0 als Preis speichert, können Sie mit den folgenden Optionen ein Produkt unabhängig vom Preis immer kaufen:

add_filter('woocommerce_is_purchasable', '__return_TRUE'); 

Um den "Sale" -Flash vollständig zu entfernen, haken Sie ihn einfach aus seinem Aktionshaken aus:

function woocommerce_remove_stuff(){
  remove_action( 'woocommerce_before_single_product_summary', 'woocommerce_show_product_sale_flash', 10 );
}
add_action('woocommerce_before_single_product', 'woocommerce_remove_stuff');
7
helgatheviking

Ich habe die Lösung für dieses Problem gefunden. Diese Funktion setzt den regulären Produktpreis und den Verkaufspreis nach dem Aktualisieren des Produkts auf 0:

function set_default_price( $post_id, $post ) {

    if ( isset( $_POST['_regular_price'] ) && trim( $_POST['_regular_price'] ) == '' ) {
        update_post_meta( $post_id, '_regular_price', '0' );
    }

if ( isset( $_POST['_sale_price'] ) && trim( $_POST['_sale_price'] ) == '' ) {
        update_post_meta( $post_id, '_sale_price', '0' );
    }

}
add_action( 'woocommerce_process_product_meta', 'set_default_price' );

Die folgende Codezeile ermöglicht den Kauf eines neuen Produkts. Sie können diesen Code für neue Produkte verwenden:

add_filter('woocommerce_is_purchasable', '__return_TRUE'); 
0
Ramzi Benzina