Wie füge ich benutzerdefinierte Felder für die WooCommerce-Bestellseite (Admin) hinzu?

Lesezeit: 1 Minute

Ich möchte einige Eingabefelder für die Bestellungen in WooCommerce/Wordpress hinzufügen. Die Felder sind nur auf der Admin-Seite sichtbar. Wie geht das? Ist es dasselbe wie die Seiten/Beiträge?

Für die obigen Beitragstypen habe ich verwendet add_post_meta. Ist es der beste Weg dafür, oder gibt es einen Haken für Auftragsfelder?

Ja, nur add_meta_box() zum Beitragstyp shop_order und weiter wie gewohnt.

add_action( 'add_meta_boxes', 'add_meta_boxes' );

function add_meta_boxes()
{
    add_meta_box( 
        'woocommerce-order-my-custom', 
        __( 'Order Custom' ), 
        'order_my_custom', 
        'shop_order', 
        'side', 
        'default' 
    );
}
function order_my_custom()
{
    echo '<h1>Sample meta box</h1>';
}

Wie fuge ich benutzerdefinierte Felder fur die WooCommerce Bestellseite Admin hinzu

Da Sie speziell nach WooCommerce fragen, möchte ich die akzeptierte Antwort von brasofilo erweitern, indem ich zeige, wie Sie die relevanten Informationen erhalten WooCommerce-Bestellobjekt (WC_Order) für die Seite, auf der sich die Metabox befindet.

So würden Sie die Rechnungs-E-Mail aus der Bestellung anzeigen:

add_action('add_meta_boxes', function() {
    add_meta_box('woocommerce-order-meta-24179529',
        __( 'My Meta Box Title' ),
        function() {
            global $post;
            // wc_get_order() returns one of bool|WC_Order|WC_Order_Refund
            $order = wc_get_order($post->ID);
            if($order instanceof WC_Order) {
                echo "Billing email: ";
                echo $order->get_billing_email();
            }
        },
        'shop_order',
        'side',
        'default'
    );
});

917330cookie-checkWie füge ich benutzerdefinierte Felder für die WooCommerce-Bestellseite (Admin) hinzu?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy