Custom checkout field

  • Hallo liebe Community,

    ich hab im Checkout ein zusätsliches Schreibfeld zur Abfrage erstellt. Soweit klappt auch alles, in der Bestellung wird die Abfrage angezeigt allerdings nicht das was der Kunde einträgt. Anbei der Code den ich eingefügt hab, vielleicht weiß jemand was fehlt.

    Vielen Dank

    /**
    * Add the field to the checkout
    */
    add_action( 'woocommerce_after_order_notes', 'my_custom_checkout_field' );

    function my_custom_checkout_field( $checkout ) {

    echo '<div id="my_custom_checkout_field"><h2>' . __('Check out Abfrages') . '</h2>';

    woocommerce_form_field( 'my_field_name', array(
    'type' => 'text',
    'class' => array('my-field-class form-row-wide'),
    'label' => __('Für welches Haustier ... ?'),
    'placeholder' => __('z.B. Hund, Katze, Kaninchen'),
    ), $checkout->get_value( 'abfrage' ));

    echo '</div>';

    }

    /**
    * Update the order meta with field value
    */
    add_action( 'woocommerce_checkout_update_order_meta', 'my_custom_checkout_field_update_order_meta' );

    function my_custom_checkout_field_update_order_meta( $order_id ) {
    if ( ! empty( $_POST['abfrage'] ) ) {
    update_post_meta( $order_id, 'abfrage', sanitize_text_field( $_POST['abfrage'] ) );
    }
    }

    /**
    * Display field value on the order edit page
    */
    add_action( 'woocommerce_admin_order_data_after_billing_address', 'my_custom_checkout_field_display_admin_order_meta', 10, 1 );

    function my_custom_checkout_field_display_admin_order_meta($order){
    echo '<p><strong>'.__('Abfrage').':</strong> ' . get_post_meta( $order->id, 'abfrage', true ) . '</p>';
    }

    • 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

Jetzt mitmachen!

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