在WooCommerce管理员订单列表中显示特定订单状态的数据是一种定制化需求,可以通过以下步骤实现:
// 添加自定义列
function custom_order_list_columns($columns) {
$columns['custom_status'] = '自定义状态';
return $columns;
}
add_filter('manage_edit-shop_order_columns', 'custom_order_list_columns');
// 显示特定订单状态数据
function custom_order_list_column_content($column) {
global $post;
if ($column == 'custom_status') {
$order = wc_get_order($post->ID);
$status = $order->get_status();
if ($status == 'processing') {
echo '处理中';
}
}
}
add_action('manage_shop_order_posts_custom_column', 'custom_order_list_column_content');
// 排序自定义列
function custom_order_list_column_sortable($columns) {
$columns['custom_status'] = 'custom_status';
return $columns;
}
add_filter('manage_edit-shop_order_sortable_columns', 'custom_order_list_column_sortable');
// 根据自定义列排序
function custom_order_list_column_orderby($vars) {
if (isset($vars['orderby']) && 'custom_status' == $vars['orderby']) {
$vars = array_merge($vars, array(
'meta_key' => 'custom_status',
'orderby' => 'meta_value'
));
}
return $vars;
}
add_filter('request', 'custom_order_list_column_orderby');
这段代码的作用是添加一个名为"自定义状态"的列,并在该列中显示订单状态为"处理中"的数据。你可以根据需要修改条件语句,以显示其他特定的订单状态。
以上是一个初步的解决方案,你可以根据具体情况进一步调整和扩展。记得在实施之前备份你的代码和数据,以免出现意外情况。
领取专属 10元无门槛券
手把手带您无忧上云