Jak dodać niestandardowe metadane do zamówień WooCommerce
Objaśnienie
Aby dodać niestandardowe metadane do zamówień WooCommerce w panelu administracyjnym, wzbogacisz stronę szczegółów zamówienia oraz listę zamówień o nowe pole niestandardowe.
Dodawanie pól niestandardowych do szczegółów zamówienia:
- Na stronie szczegółów zamówienia dodawana jest nowa sekcja zatytułowana "Niestandardowe dane zamówienia".
- Sekcja ta zawiera pole tekstowe, w którym można wprowadzić niestandardowe informacje dla każdego zamówienia.
Zapisywanie pól niestandardowych:
- Podczas zapisywania zamówienia dane z pola niestandardowego są przechowywane w bazie danych.
- Dane są oczyszczane, aby zapewnić ich bezpieczeństwo i czystość przed zapisaniem.
Dodawanie kolumny niestandardowej do listy zamówień:
- Na liście zamówień w panelu administracyjnym dodawana jest nowa kolumna o nazwie "Pole niestandardowe".
- Kolumna ta wyświetla dane z pola niestandardowego dla każdego zamówienia, co ułatwia ich przeglądanie na pierwszy rzut oka.
Dzięki tym ulepszeniom możesz łatwo zarządzać dodatkowymi informacjami o zamówieniach bezpośrednio z panelu administracyjnego WooCommerce, usprawniając swój workflow i utrzymując wszystko w porządku.
Kod
<?php
// Add custom fields to WooCommerce order admin panel
function wp_dudecom_add_custom_order_meta_fields($order) {
echo '<div class="order_data_column">';
echo '<h4>' . __('Custom Order Data', 'woocommerce') . '</h4>';
woocommerce_wp_text_input(array(
'id' => '_custom_order_field',
'label' => __('Custom Field', 'woocommerce'),
'wrapper_class' => 'form-field-wide',
'value' => get_post_meta($order->get_id(), '_custom_order_field', true),
));
echo '</div>';
}
add_action('woocommerce_admin_order_data_after_order_details', 'wp_dudecom_add_custom_order_meta_fields');
// Save custom fields from WooCommerce order admin panel
function wp_dudecom_save_custom_order_meta_fields($post_id) {
$order = wc_get_order($post_id);
if (isset($_POST['_custom_order_field'])) {
update_post_meta($order->get_id(), '_custom_order_field', sanitize_text_field($_POST['_custom_order_field']));
}
}
add_action('woocommerce_process_shop_order_meta', 'wp_dudecom_save_custom_order_meta_fields', 10, 1);
// Add custom column to WooCommerce orders list
function wp_dudecom_add_custom_orders_list_column($columns) {
$new_columns = (is_array($columns)) ? $columns : array();
$new_columns['custom_order_field'] = __('Custom Field', 'woocommerce');
return $new_columns;
}
add_filter('manage_edit-shop_order_columns', 'wp_dudecom_add_custom_orders_list_column', 20);
// Display custom field data in the new column
function wp_dudecom_display_custom_orders_list_column($column) {
global $post;
if ('custom_order_field' === $column) {
$custom_field_value = get_post_meta($post->ID, '_custom_order_field', true);
echo esc_html($custom_field_value);
}
}
add_action('manage_shop_order_posts_custom_column', 'wp_dudecom_display_custom_orders_list_column', 10, 1);
?>
Instrukcja
Lokalizacja pliku: Dodaj poniższy 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.
Kroki wdrożenia:
- Otwórz panel administracyjny WordPress i przejdź do Wygląd > Edytor motywu lub użyj klienta FTP, aby uzyskać dostęp do plików swojego motywu.
- Znajdź i otwórz plik
functions.php
aktywnego motywu. - Skopiuj podany fragment kodu i wklej go na końcu pliku
functions.php
. - Zapisz zmiany w pliku
functions.php
. - Przejdź do sekcji zamówień WooCommerce w panelu administracyjnym WordPress, aby zobaczyć nową sekcję "Dane zamówienia niestandardowego" w szczegółach zamówienia oraz kolumnę "Pole niestandardowe" na liście zamówień.
- Przetestuj, dodając i zapisując dane niestandardowe, aby upewnić się, że pojawiają się poprawnie na liście zamówień.
Jeśli napotkasz jakiekolwiek problemy lub potrzebujesz dalszej pomocy w tej implementacji lub bardziej zaawansowanej funkcjonalności, rozważ skontaktowanie się z wp-dude.com w celu uzyskania fachowej pomocy.