Wordpress WooCommerce Wissen

Benutzerdefinierte Felder für WooCommerce Bestellungen im Admin

Schreiben Sie uns, wenn Sie Fragen zu unseren Plugins oder speziellen Anforderungen und Bugfixes haben.

Heutiges Thema: Hinzufügen von benutzerdefinierten Feldern zu WooCommerce-Bestellungen im Admin

WORDPRESS / WOOCOMMERCE WISSEN

Weblabs-UI

Mehr Effizienz für Wordpress und WooCommerce! Bessere Übersicht und smarte Tools, um Ihre Website auf das nächste Level zu bringen.
Mehr erfahren

Um die Funktionalität Ihres WooCommerce-Shops zu verbessern, müssen Sie häufig die Verwaltungsoberfläche an Ihre spezifischen Anforderungen anpassen. Eine nützliche Anpassung ist das Hinzufügen benutzerdefinierter Felder zu WooCommerce-Bestellungen im Verwaltungsbereich. Mit diesen zusätzlichen Feldern können Sie zusätzliche Informationen zu jeder Bestellung erfassen und anzeigen – seien es spezielle Anweisungen, interne Notizen oder benutzerdefinierte Tracking-Details. In dieser Anleitung erfahren Sie, wie Sie mit PHP Ihre eigenen Felder zur Bearbeitungsseite von WooCommerce-Bestellungen hinzufügen. Tools wie WP-Code oder Codeausschnitte wird empfohlen, diesen Code sicher zu integrieren, ohne Kerndateien zu ändern.


Ansatz – PHP-Lösung

Mithilfe von PHP können Sie WooCommerce-Hooks nutzen, um sowohl benutzerdefinierte Felder auf der Seite zur Auftragsbearbeitung anzuzeigen als auch die Daten zu speichern, wenn der Auftrag aktualisiert wird. Das folgende Beispiel zeigt, wie Sie dem Auftragsdetailbereich ein benutzerdefiniertes Textfeld mit der Bezeichnung „Benutzerdefiniertes Feld“ hinzufügen und den Wert des Felds speichern.

Beispielcode:

PHP
<?php
// Display the custom admin field on the WooCommerce order edit page
function add_custom_admin_order_field( $order ) {
    // Retrieve the current value of the custom field
    $custom_field_value = get_post_meta( $order->get_id(), '_custom_field', true );
    ?>
    <div class="order_data_column">
        <h4><?php _e( 'Custom Information', 'text_domain' ); ?></h4>
        <p class="form-field form-field-wide">
            <label for="custom_field"><?php _e( 'Custom Field:', 'text_domain' ); ?></label>
            <input type="text" name="custom_field" id="custom_field" value="<?php echo esc_attr( $custom_field_value ); ?>" />
        </p>
    </div>
    <?php
}
add_action( 'woocommerce_admin_order_data_after_order_details', 'add_custom_admin_order_field' );

// Save the custom field data when the order is updated
function save_custom_admin_order_field( $order_id ) {
    if ( isset( $_POST['custom_field'] ) ) {
        update_post_meta( $order_id, '_custom_field', sanitize_text_field( $_POST['custom_field'] ) );
    }
}
add_action( 'woocommerce_process_shop_order_meta', 'save_custom_admin_order_field' );
?>

So funktioniert es:

Der obige Code ist in zwei Teile gegliedert. Der erste Teil verwendet die woocommerce_admin_order_data_after_order_details Hook zum Hinzufügen eines benutzerdefinierten Feldabschnitts zur Bestellbearbeitungsseite im Admin-Dashboard. Das Eingabefeld zeigt alle zuvor gespeicherten Werte aus den Metadaten der Bestellung an.

Der zweite Teil verwendet die woocommerce_process_shop_order_meta Hook, um den übermittelten Wert zu speichern, wenn die Bestellung aktualisiert wird. Indem Sie überprüfen, ob das Feld im $_POST Array und Verwendung der update_post_meta() Funktion werden alle von Ihnen vorgenommenen Änderungen sicher gespeichert.


Weitere Verbesserungen:

Ziehen Sie diese Möglichkeiten in Betracht, um die Implementierung Ihrer benutzerdefinierten Felder weiter zu verbessern:

  • Feldvalidierung: Integrieren Sie Validierungsprüfungen, um sicherzustellen, dass nur akzeptable Daten gespeichert werden.
  • Mehrere Felder: Erweitern Sie den Ansatz um mehrere Felder – beispielsweise Dropdown-Listen, Kontrollkästchen oder Datumsauswahlfelder – um eine Vielzahl benutzerdefinierter Daten zu erfassen.
  • Bedingte Anzeige: Verwenden Sie zusätzliche Logik, um benutzerdefinierte Felder nur für Bestellungen anzuzeigen, die bestimmte Kriterien erfüllen, oder für bestimmte Benutzerrollen.

Abschluss

Das Hinzufügen benutzerdefinierter Felder zu WooCommerce-Bestellungen im Admin-Bereich ist eine praktische Möglichkeit, zusätzliche Informationen zu erfassen, die auf Ihre Geschäftsanforderungen zugeschnitten sind. Durch die Verwendung von WooCommerce-Hooks und PHP können Sie zusätzliche Felder nahtlos in die Bestellbearbeitungsseite integrieren, ohne die Kernfunktionalität von WooCommerce zu beeinträchtigen. Egal, ob Sie einfach ein Feld für zusätzliche Notizen oder eine komplexere Datenerfassung benötigen, dieser Ansatz bietet eine flexible und sichere Lösung.

Experimentieren Sie mit dieser Methode und erweitern Sie sie, um ein individuelleres Auftragsverwaltungssystem aufzubauen, das Ihren Betriebsanforderungen entspricht und die Gesamteffizienz Ihres WooCommerce-Shops verbessert.

Mehr Effizienz für Wordpress und WooCommerce! Bessere Übersicht und smarte Tools, um Ihre Website auf das nächste Level zu bringen.