Jak dodać niestandardową kolumnę do zamówień WooCommerce
Objaśnienie
Chcesz dodać niestandardową kolumnę do listy zamówień WooCommerce? Ten fragment kodu robi dokładnie to, ułatwiając wyświetlanie dodatkowych informacji w panelu zamówień.
- Dodaj nową kolumnę: Kod wprowadza nową kolumnę o nazwie "Niestandardowa kolumna" tuż po kolumnie statusu zamówienia w Twojej liście zamówień WooCommerce.
- Wyświetl dane niestandardowe: Pobiera i wyświetla dane z niestandardowego pola powiązanego z każdym zamówieniem. To pole jest identyfikowane za pomocą klucza _wp_dudecom_custom_field.
- Kolumna sortowalna: Nowa kolumna nie jest tylko dla ozdoby; możesz sortować zamówienia na podstawie danych w tej kolumnie, co ułatwia zarządzanie zamówieniami.
Aby to działało, upewnij się, że każde zamówienie ma wypełnione niestandardowe pole _wp_dudecom_custom_field danymi, które chcesz wyświetlić. Ta konfiguracja jest idealna do dodawania spersonalizowanych informacji do procesu zarządzania zamówieniami.
Kod
<?php
// Add a custom column to the WooCommerce orders list
function wp_dudecom_add_custom_order_column( $columns ) {
$new_columns = array();
// Insert the new column after the order status column
foreach ( $columns as $column_name => $column_info ) {
$new_columns[ $column_name ] = $column_info;
if ( 'order_status' === $column_name ) {
$new_columns['wp_dudecom_custom_column'] = __( 'Custom Column', 'textdomain' );
}
}
return $new_columns;
}
add_filter( 'manage_edit-shop_order_columns', 'wp_dudecom_add_custom_order_column' );
// Populate the custom column with data
function wp_dudecom_custom_order_column_content( $column ) {
global $post;
if ( 'wp_dudecom_custom_column' === $column ) {
// Retrieve custom field value
$custom_field_value = get_post_meta( $post->ID, '_wp_dudecom_custom_field', true );
// Display the custom field value
echo esc_html( $custom_field_value );
}
}
add_action( 'manage_shop_order_posts_custom_column', 'wp_dudecom_custom_order_column_content' );
// Make the custom column sortable
function wp_dudecom_custom_order_column_sortable( $columns ) {
$columns['wp_dudecom_custom_column'] = 'wp_dudecom_custom_column';
return $columns;
}
add_filter( 'manage_edit-shop_order_sortable_columns', 'wp_dudecom_custom_order_column_sortable' );
// Handle sorting for the custom column
function wp_dudecom_custom_order_column_orderby( $vars ) {
if ( isset( $vars['orderby'] ) && 'wp_dudecom_custom_column' === $vars['orderby'] ) {
$vars = array_merge( $vars, array(
'meta_key' => '_wp_dudecom_custom_field',
'orderby' => 'meta_value'
) );
}
return $vars;
}
add_filter( 'request', 'wp_dudecom_custom_order_column_orderby' );
?>
Instrukcja
Aby zaimplementować niestandardową kolumnę w panelu zamówień WooCommerce, wykonaj następujące kroki:
Lokalizacja pliku: Dodaj kod do pliku functions.php
swojego motywu lub do pliku niestandardowej wtyczki.
Wymagania wstępne:
- Upewnij się, że WooCommerce jest zainstalowane i aktywowane na Twojej stronie WordPress.
- Sprawdź, czy każde zamówienie ma wypełnione pole niestandardowe _wp_dudecom_custom_field pożądanymi danymi.
Kroki implementacji:
- Uzyskaj dostęp do panelu administracyjnego WordPress.
- Przejdź do Wygląd > Edytor motywu, jeśli dodajesz kod do
functions.php
. Alternatywnie, otwórz plik swojej niestandardowej wtyczki, jeśli korzystasz z wtyczki. - Skopiuj i wklej podany fragment kodu do pliku.
- Zapisz zmiany w pliku.
- Przejdź do WooCommerce > Zamówienia, aby zobaczyć nową "Niestandardową kolumnę" dodaną do listy zamówień.
- Sprawdź, czy kolumna wyświetla dane z pola niestandardowego _wp_dudecom_custom_field.
- Przetestuj funkcjonalność sortowania, klikając nagłówek kolumny, aby posortować zamówienia według niestandardowych danych.
Jeśli napotkasz jakiekolwiek problemy lub potrzebujesz dalszej pomocy, rozważ skontaktowanie się z wp-dude.com w celu uzyskania fachowej pomocy w zakresie dostosowywania WordPress i WooCommerce.