Forbedring af funktionaliteten af din WooCommerce-butik involverer ofte at skræddersy admin-grænsefladen til at opfylde dine specifikke behov. En nyttig tilpasning er at tilføje brugerdefinerede felter til WooCommerce-ordrer i administrationsområdet. Disse ekstra felter giver dig mulighed for at fange og vise ekstra information om hver ordre – uanset om det er specielle instruktioner, interne noter eller brugerdefinerede sporingsdetaljer. I denne vejledning lærer du, hvordan du tilføjer dine egne felter til WooCommerce ordreredigeringssiden ved hjælp af PHP. Værktøjer som WP kode eller Kodestykker anbefales at integrere denne kode sikkert uden at ændre kernefiler.
Ved hjælp af PHP kan du udnytte WooCommerce-hooks til både at vise brugerdefinerede felter på ordreredigeringssiden og gemme dataene, når ordren opdateres. Følgende eksempel viser, hvordan man tilføjer et brugerdefineret tekstfelt mærket "Custom Field" til panelet med ordredetaljer og gemmer feltets værdi.
<?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' );
?>
Ovenstående kode er opdelt i to dele. Den første del bruger woocommerce_admin_order_data_after_order_details
krog for at tilføje en tilpasset feltsektion til ordreredigeringssiden i admin-dashboardet. Indtastningsfeltet viser enhver tidligere gemt værdi fra ordrens metadata.
Den anden del bruger woocommerce_process_shop_order_meta
krog for at gemme den indsendte værdi, når ordren er opdateret. Ved at kontrollere, om feltet er sat i $_POST
array og ved hjælp af update_post_meta()
funktion, gemmes alle ændringer, du foretager, sikkert.
Overvej disse muligheder for yderligere at forbedre din tilpassede feltimplementering:
Tilføjelse af brugerdefinerede felter til WooCommerce-ordrer i administrationsområdet er en praktisk måde at fange ekstra information skræddersyet til dine forretningsbehov. Ved at bruge WooCommerce hooks og PHP kan du problemfrit integrere yderligere felter i ordreredigeringssiden uden at forstyrre WooCommerce-kernefunktionaliteten. Uanset om du blot har brug for et felt til ekstra noter eller mere kompleks datafangst, giver denne tilgang en fleksibel og sikker løsning.
Eksperimenter med og udvid denne metode for at bygge et mere personligt ordrestyringssystem, der stemmer overens med dine operationelle krav og forbedrer den overordnede effektivitet af din WooCommerce-butik.