將自訂欄位新增至WooCommerce 管理訂單清單
在WooCommerce 中,您可以自訂管理訂單清單頁面以包含顯示相關的其他列有關您訂單的資訊。
將列新增列至訂單列表
要將自訂列新增至WooCommerce 中的訂單列表,您需要修改範本檔案:
/wp-content/plugins/woocommerce/includes/admin/views/html-order-list.php
在manage_shop_order_posts_custom_column函數中,您可以根據$column參數定義自訂列的內容。例如,要新增顯示訂單權重的資料列,您可以使用以下程式碼:
case 'weight': $order = wc_get_order($post_id); $weight = $order->get_weight(); echo $weight . ' kg'; break;
將欄位新增至特定位置
您可以指定位置透過修改manage_edit -shop_order_columns過濾器來編輯自訂列。此篩選器可讓您對現有列重新排序並在特定位置插入自訂列。
例如,要在「操作」列之前插入名為「我的列」的自訂列,您可以使用以下命令代碼:
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; }
高效能訂單儲存(HPOS)
從WooCommerce 8.2 開始,新安裝預設啟用高效能訂單儲存(HPOS) 。這需要採用稍微不同的方法來新增自訂列:
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; } }
這些程式碼變更可讓您將自訂列新增至管理訂單清單頁面,為您提供管理訂單時的更多見解和靈活性。
以上是如何將自訂列新增至我的 WooCommerce 管理訂單清單?的詳細內容。更多資訊請關注PHP中文網其他相關文章!