我正在尝试找出一种方法来添加自定义排序 - asc / desc 到以下代码中,我已将其添加到 WooCommerce 商店的functions.php中。
该代码在 WooCommerce 的“用户管理”部分中添加了一列,其中包含每个用户/客户的总订单数,但缺少排序功能。
代码已经过测试,可以正确显示用户下的订单数量。它唯一缺少的功能是按订单数量排序 - 升序或降序。
代码如下:
add_filter( 'manage_users_columns', 'add_new_user_column' );
function add_new_user_column( $columns ) {
$columns['placed_order'] = 'Orders Placed';
return $columns;
}
add_filter( 'manage_users_custom_column', 'add_new_user_column_content', 10, 3 );
function add_new_user_column_content( $content, $column, $user_id ) {
if ( 'placed_order' === $column ) {
$customer_orders = get_posts( array(
'numberposts' => -1,
'meta_key' => '_customer_user',
'meta_value' => $user_id,
'post_type' => wc_get_order_types(),
'post_status' => array_keys( wc_get_order_statuses() ),
) );
$store_products = wp_list_pluck( $customer_orders, 'ID' );
$content = count($store_products);
}
return $content;}
如果您知道如何合并它,我将不胜感激!
提前谢谢您。
您可以使用manage_{$this->screen->id}_sortable_columns过滤器挂钩使您的列可排序。 (WP 文档)
您可能需要将其与 pre_get_users 操作结合使用,以将排序应用于查询。