Heim > Artikel > Backend-Entwicklung > Wie kann ich benutzerdefinierte Spalten zu meiner WooCommerce-Admin-Bestellliste hinzufügen?
Benutzerdefinierte Spalten zur Admin-Bestellliste von WooCommerce hinzufügen
In WooCommerce können Sie die Seite mit der Admin-Bestellliste so anpassen, dass sie zusätzliche Spalten enthält, die relevant angezeigt werden Informationen zu Ihren Bestellungen.
Spalten zur Bestellliste hinzufügen
Um benutzerdefinierte Spalten zur Bestellliste in WooCommerce hinzuzufügen, müssen Sie die Vorlagendatei ändern:
/wp-content/plugins/woocommerce/includes/admin/views/html-order-list.php
Innerhalb der Funktion manage_shop_order_posts_custom_column können Sie den Inhalt Ihrer benutzerdefinierten Spalten basierend auf dem Parameter $column definieren. Um beispielsweise eine Spalte hinzuzufügen, die das Bestellgewicht anzeigt, können Sie den folgenden Code verwenden:
case 'weight': $order = wc_get_order($post_id); $weight = $order->get_weight(); echo $weight . ' kg'; break;
Spalten an bestimmten Standort hinzufügen
Sie können die Position angeben Ihrer benutzerdefinierten Spalten, indem Sie den Filter manage_edit-shop_order_columns ändern. Mit diesem Filter können Sie die vorhandenen Spalten neu anordnen und Ihre benutzerdefinierten Spalten an einer bestimmten Stelle einfügen.
Um beispielsweise eine benutzerdefinierte Spalte mit dem Namen „Meine Spalte“ vor der Spalte „Aktionen“ einzufügen, würden Sie Folgendes verwenden Code:
add_filter('manage_edit-shop_order_columns', 'reorder_admin_order_columns'); function reorder_admin_order_columns($columns) { $reordered_columns = array(); foreach ($columns as $key => $column) { $reordered_columns[$key] = $column; if ($key == 'order_status') { $reordered_columns['my-column'] = 'My Column'; } } return $reordered_columns; }
High-Performance Order Storage (HPOS)
Ab WooCommerce 8.2 ist High-Performance Order Storage (HPOS) standardmäßig für Neuinstallationen aktiviert . Dies erfordert einen etwas anderen Ansatz zum Hinzufügen benutzerdefinierter Spalten:
add_filter('manage_woocommerce_page_wc-orders_columns', 'reorder_admin_order_hpos_columns'); function reorder_admin_order_hpos_columns($columns) { $reordered_columns = array(); foreach ($columns as $key => $column) { $reordered_columns[$key] = $column; if ($key == 'order_status') { $reordered_columns['my-column'] = 'My Column'; } } return $reordered_columns; } add_action('manage_woocommerce_page_wc-orders_custom_column', 'display_admin_order_hpos_column_content', 10, 2); function display_admin_order_hpos_column_content($column, $order) { switch ($column) { case 'my-column': // Get custom order metadata $value = $order->get_meta('_the_meta_key'); if (!empty($value)) { echo $value; } else { echo '<small>(<em>no value</em>)</small>'; } break; } }
Diese Codeänderungen ermöglichen es Ihnen, benutzerdefinierte Spalten zur Admin-Bestelllistenseite hinzuzufügen, was Ihnen zusätzliche Einblicke und Flexibilität bei der Verwaltung Ihrer Bestellungen bietet.
Das obige ist der detaillierte Inhalt vonWie kann ich benutzerdefinierte Spalten zu meiner WooCommerce-Admin-Bestellliste hinzufügen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!