我在管理用户仪表板中有一个名为“用户类型”的自定义过滤器,我已经解决了在用户管理仪表板中显示它们的问题。但我不知道如何调用它们并将其保存在数组中,以便获取user\\u id并执行另一个操作。
我的另一个操作是获取某个用户的所有元键,并将它们导出到excel文件中。但在我可以这样做之前,我应该有一个选项来过滤它们或只是导出所有用户,我已经执行了这项操作。
function add_course_section_filter() {
if ( isset( $_GET[ \'user_type\' ]) ) {
$user_type = $_GET[ \'user_type\' ];
} else {
$user_type = \'\';
}
echo \' <select name="user_type[]" style="float:none;"><option value="">Choose User Type...</option>\';
if($user_type[0] == \'designer\'){
$selected_designer = \'selected="selected"\';
}
if($user_type[0] == \'client\'){
$selected_client = \'selected="selected"\';
}
echo \'<option value="designer" \' . $selected_designer . \'>Builder/Designer</option>\';
echo \'<option value="client" \' . $selected_client . \'>Client</option>\';
echo \'</select>\';
echo \'<input type="submit" class="button" value="Filter">\';
}
add_action( \'restrict_manage_users\', \'add_course_section_filter\' );
function filter_users_by_course_section( $query ) {
global $pagenow;
if ( is_admin() && \'users.php\' == $pagenow && isset( $_GET[ \'user_type\' ] )) {
$user_type = $_GET[ \'user_type\' ];
if($user_type[0] != \'\'){
$meta_query = array(
array(
\'key\' => \'_user_type\',
\'value\' => $user_type[0]
)
);
$query->set( \'meta_key\', \'_user_type\' );
$query->set( \'meta_query\', $meta_query );
}else{
}
}
}
add_filter( \'pre_get_users\', \'filter_users_by_course_section\' );
SO网友:mmm
使用您的代码,用户列表将按元“\\u user\\u type”进行过滤
然后,您可以创建一个新的批量操作来导出所选用户的数据,该操作包括:
const ACTION_EXPORT_CSV = "MyPlugin__exportCSV";
add_filter("bulk_actions-users", function ($actions) {
$actions[ACTION_EXPORT_CSV] = "Export CSV";
return $actions;
});
add_action("load-users.php", function () {
if ( isset($_GET["action"])
&& (ACTION_EXPORT_CSV === $_GET["action"])
) {
// here, identifiers of selected users are in $_GET["users"]
}
});