向 WooCommerce 中的用户列数据添加排序顺序选项

问题描述 投票:0回答:1

我正在尝试找出一种方法来添加自定义排序 - 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;}

如果您知道如何合并它,我将不胜感激!

提前谢谢您。

php function sorting woocommerce filter
1个回答
0
投票

您可以使用manage_{$this->screen->id}_sortable_columns过滤器挂钩使您的列可排序。 (WP 文档)

您可能需要将其与 pre_get_users 操作结合使用,以将排序应用于查询。

© www.soinside.com 2019 - 2024. All rights reserved.