benutzerdefineirte Werte in neue Meta Box Admin Betsellung anzeigen

  • Ich möchte gerne die Werte des benutzerdefinierten Feldes in einer neuen Metabox ausgeben.Leider wird nichts angezeigt.


    PHP
    add_action('add_meta_boxes',function(){		add_meta_box('custom_order_option', 'Details zur Immobilie', 'custom_order_option_cb','shop_order');});function custom_order_option_cb($order){ echo '<div class="immo-order">			 <h3> Info zur Immobilie</h3>			 <p><strong>'.__('Straße').':</strong> ' . get_post_meta( $order->id, 'Straße', true ) . '</p>			 <p><strong>'.__('Haus-Nr').':</strong> ' . get_post_meta( $order->id, 'Haus-Nr', true ) . '</p>			 <p><strong>'.__('Top-Nr').':</strong> ' . get_post_meta( $order->id, 'Top-Nr', true ) . '</p>			 <p><strong>'.__('Stockwerk').':</strong> ' . get_post_meta( $order->id, 'Stockwerk', true ) . '</p>			 <p><strong>'.__('PLZ').':</strong> ' . get_post_meta( $order->id, 'PLZ', true ) . '</p>			 <p><strong>'.__('Ort').':</strong> ' . get_post_meta( $order->id, 'Ort', true ) . '</p>
    
    
    			 </div>';}

    hier funktioniert es aber ich benötige eine neue Metabox

    PHP
    add_action( 'woocommerce_admin_order_data_after_shipping_address', 'my_custom_checkout_field_display_admin_order_meta', 10, 1 );
    function my_custom_checkout_field_display_admin_order_meta($order){	echo '<div class="immo-order">				<h3> Info zur Immobilie</h3>				<p><strong>'.__('Straße').':</strong> ' . get_post_meta( $order->id, 'Straße', true ) . '</p>				<p><strong>'.__('Haus-Nr').':</strong> ' . get_post_meta( $order->id, 'Haus-Nr', true ) . '</p>				<p><strong>'.__('Top-Nr').':</strong> ' . get_post_meta( $order->id, 'Top-Nr', true ) . '</p>				<p><strong>'.__('Stockwerk').':</strong> ' . get_post_meta( $order->id, 'Stockwerk', true ) . '</p>				<p><strong>'.__('PLZ').':</strong> ' . get_post_meta( $order->id, 'PLZ', true ) . '</p>				<p><strong>'.__('Ort').':</strong> ' . get_post_meta( $order->id, 'Ort', true ) . '</p>
    
    
    				</div>';}
    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • Wo sollen denn die Daten erscheinen?

    WordPress ist "frei" wie in Freiheit es zu nutzen, aber nicht im Sinne von Freibier. Wer also glaubt man bekommt rund um WordPress alles kostenlos, der irrt. Hilfe ist ein Geschenk für das man sich bedankt, dafür gibt es den 'Gefällt mir' Button. Wer das nicht kann und sich selbst nicht zu helfen weiss, muss sich bezahlte Unterstützung suchen.

  • Versuche

    add_meta_box('woocommerce-order-my-custom', ....

    anstatt

    add_meta_box('custom_order_option', ....

    WordPress ist "frei" wie in Freiheit es zu nutzen, aber nicht im Sinne von Freibier. Wer also glaubt man bekommt rund um WordPress alles kostenlos, der irrt. Hilfe ist ein Geschenk für das man sich bedankt, dafür gibt es den 'Gefällt mir' Button. Wer das nicht kann und sich selbst nicht zu helfen weiss, muss sich bezahlte Unterstützung suchen.

  • hat leider keine Änderung gebracht. Die Metabox wird zwar angezeigt aber die Werte vo den Benutzerdefinierten Feldern nicht

    Mit Debug Mode steht das $order nicht definiert ist

  • Das Problem war also nicht, dass keine Metabox angezeigt wurde, sondern die Metabox keinen Inhalt hat?

    WordPress ist "frei" wie in Freiheit es zu nutzen, aber nicht im Sinne von Freibier. Wer also glaubt man bekommt rund um WordPress alles kostenlos, der irrt. Hilfe ist ein Geschenk für das man sich bedankt, dafür gibt es den 'Gefällt mir' Button. Wer das nicht kann und sich selbst nicht zu helfen weiss, muss sich bezahlte Unterstützung suchen.

  • Ja dann:

    Code
    add_action( 'add_meta_boxes_shop_order', function(){
        add_meta_box( 'mmx_info', 'Info', 'mmx_get_post_meta' );
        });
    
    
    
    
    function mmx_get_post_meta( $post ){
        echo '<pre>' . print_r( get_post_meta( $post->ID ), true ) . '</pre>';
    }

    WordPress ist "frei" wie in Freiheit es zu nutzen, aber nicht im Sinne von Freibier. Wer also glaubt man bekommt rund um WordPress alles kostenlos, der irrt. Hilfe ist ein Geschenk für das man sich bedankt, dafür gibt es den 'Gefällt mir' Button. Wer das nicht kann und sich selbst nicht zu helfen weiss, muss sich bezahlte Unterstützung suchen.

  • Meine Funktion gibt Dir alle Information der post_meta Tabelle für die POST ID aus. Wenn die Felder nicht im zurückgelieferten Objekt zu sehen sind, sind sie woanders gespeichert, wie z.B. in den WooCommerce Tabellen. Da kommt man mit get_post_meta nicht dran sonder muss WooCommerce eigene Funktionen verwenden.

    WordPress ist "frei" wie in Freiheit es zu nutzen, aber nicht im Sinne von Freibier. Wer also glaubt man bekommt rund um WordPress alles kostenlos, der irrt. Hilfe ist ein Geschenk für das man sich bedankt, dafür gibt es den 'Gefällt mir' Button. Wer das nicht kann und sich selbst nicht zu helfen weiss, muss sich bezahlte Unterstützung suchen.

  • Du kannst Die Funktion ja einfach erweitern, bis Du die Inhalte im Object/Array siehst, die Du haben willst.

    Code
    function [COLOR=#333333]mmx_get_post_meta[/COLOR]( $post ){
        echo '<pre>' . print_r( get_post_meta( $post->ID ), true ) . '</pre>';
        $order = new WC_Order( $post->ID );
        $items = $order->get_items();
        echo '<pre>' . print_r( $items, true ) . '</pre>';
    }

    Danach kannst Du die einzelnen Werte direkt abrufen.

    Tipp: 10x get_post_meta für einzelne Custom Fields bedeutet 10 SQL Selects. Mache es wie bei mir gezeigt mit einem get_post_meta für alle Felder und gebe dann Werte aus dem gebildeten Array aus. Das ist schneller.

    WordPress ist "frei" wie in Freiheit es zu nutzen, aber nicht im Sinne von Freibier. Wer also glaubt man bekommt rund um WordPress alles kostenlos, der irrt. Hilfe ist ein Geschenk für das man sich bedankt, dafür gibt es den 'Gefällt mir' Button. Wer das nicht kann und sich selbst nicht zu helfen weiss, muss sich bezahlte Unterstützung suchen.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!