Å 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.
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.
<?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' );
?>
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.
Vurder disse mulighetene for å forbedre din egendefinerte feltimplementering ytterligere:
Å 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.