Wordpress WooCommerce Kunnskap

Legge til egendefinerte felt i WooCommerce-bestillinger i Admin

Skriv til oss hvis du har spørsmål om våre plugins eller spesifikke krav og feilrettinger.

Dagens emne: Legge til egendefinerte felt i WooCommerce-bestillinger i Admin

WORDPRESS / WOOCOMMERCE KUNNSKAP

Weblabs-UI

Mer effektivitet for Wordpress og WooCommerce! Bedre oversikt og smarte verktøy for å ta nettsiden din til neste nivå.
Lær mer

Å forbedre funksjonaliteten til WooCommerce-butikken din innebærer ofte å skreddersy administrasjonsgrensesnittet for å møte dine spesifikke behov. En nyttig tilpasning er å legge til egendefinerte felt til WooCommerce-bestillinger i admin-området. Disse tilleggsfeltene lar deg fange opp og vise ekstra informasjon om hver bestilling – enten det er spesielle instruksjoner, interne notater eller tilpassede sporingsdetaljer. I denne veiledningen lærer du hvordan du legger til dine egne felt på WooCommerce-bestillingsredigeringssiden ved hjelp av PHP. Verktøy som WP-kode eller Kodebiter anbefales å integrere denne koden på en sikker måte uten å endre kjernefiler.


Tilnærming – PHP-løsning

Ved å bruke PHP kan du utnytte WooCommerce-kroker til både å vise tilpassede felt på ordreredigeringssiden og lagre dataene når bestillingen oppdateres. Følgende eksempel viser hvordan du legger til et tilpasset tekstfelt merket "Egendefinert felt" i bestillingsdetaljpanelet og lagrer feltets verdi.

Eksempelkode:

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' );
?>

Slik fungerer det:

Koden ovenfor er delt inn i to deler. Den første delen bruker woocommerce_admin_order_data_after_order_details hekte for å legge til en egendefinert feltdel på ordreredigeringssiden i admin-dashbordet. Inndatafeltet viser eventuelle tidligere lagrede verdier fra bestillingens metadata.

Den andre delen bruker woocommerce_process_shop_order_meta hekte for å lagre den innsendte verdien når bestillingen oppdateres. Ved å sjekke om feltet er satt i $_POST array og bruke update_post_meta() funksjon, lagres alle endringer du gjør sikkert.


Ytterligere forbedringer:

Vurder disse mulighetene for å forbedre din egendefinerte feltimplementering ytterligere:

  • Feltvalidering: Innlemme valideringssjekker for å sikre at bare akseptable data lagres.
  • Flere felt: Utvid tilnærmingen til å inkludere flere felt – for eksempel rullegardiner, avmerkingsbokser eller datovelgere – for å fange opp en rekke tilpassede data.
  • Betinget skjerm: Bruk ekstra logikk for å vise tilpassede felt kun for bestillinger som oppfyller spesifikke kriterier eller for bestemte brukerroller.

Konklusjon

Å legge til egendefinerte felt til WooCommerce-bestillinger i administrasjonsområdet er en praktisk måte å fange opp ekstra informasjon skreddersydd for bedriftens behov. Ved å bruke WooCommerce-kroker og PHP kan du sømløst integrere flere felt i ordreredigeringssiden uten å forstyrre kjernefunksjonaliteten i WooCommerce. Enten du bare trenger et felt for ekstra notater eller mer kompleks datafangst, gir denne tilnærmingen en fleksibel og sikker løsning.

Eksperimenter med og utvid denne metoden for å bygge et mer personlig bestillingsadministrasjonssystem som er i tråd med dine operasjonelle krav og forbedrer den generelle effektiviteten til din WooCommerce-butikk.

Mer effektivitet for Wordpress og WooCommerce! Bedre oversikt og smarte verktøy for å ta nettsiden din til neste nivå.