纯代码实现wordpress后台自定义字段筛选用户

作者: 站长 上传时间: 浏览: N/A 下载: N/A 格式: N/A 评分: N/A


将以下代码加入worddpress的主题function.php文件中,实现wordpress后台用户管理界面添加自定义字段筛选功能
注意:用户管理界面添加自定义列并显示用户自定义字段值得代码未包含在本示例代码中,网上很多,请自己去添加
以下代码中的my_user_tag即为添加的用户信息自定义字段key,值是通过wp的update_user_meta()方法添加,一般根据自己的功能需求做开发

以下仅为实现自定义用户筛选代码
add_action('restrict_manage_users', 'filter_by_my_role');
function filter_by_my_role($which)
{
$st = '';
$options = '';
$select = sprintf( $st, $which, __( '自定义筛选...' ), $options );
echo $select;
submit_button(__( 'Filter' ), null, $which, false);
}

add_filter('pre_get_users', 'filter_users_by_my_role_section');
function filter_users_by_my_role_section($query)
{
global $pagenow;
if (is_admin() && 'users.php' == $pagenow) {
$top = $_GET['my_role_top'] ? $_GET['my_role_top'] : null;
$bottom = $_GET['my_role_bottom'] ? $_GET['my_role_bottom'] : null;
if (!empty($top) OR !empty($bottom))
{
$section = !empty($top) ? $top : $bottom;
$meta_query = array (array (
'key' => 'my_user_tag',//修改为你的自定义字段key
'value' => $section,
'compare' => 'LIKE'
));
$query->set('meta_query', $meta_query);
}
}
}