如何为users.php正确设置头像自定义过滤器?

如何为users.php正确设置头像自定义过滤器?,php,wordpress,Php,Wordpress,我正试图在WordPress的管理中为users.php中的化身设置自定义过滤器。我检查了用户是否有gravatar或上传了自己的图片。我正在将这些信息写入单独的用户栏,并将其作为meta_key='avatar'值avatar或Gravatar记录到数据库中 我试着像解释的那样实现它,但没有成功 这是我的功能,用于显示过滤器输入,按钮位于用户列表顶部 function filter_by_avatar($which) { // template for filtering $st = '

我正试图在WordPress的管理中为
users.php
中的化身设置自定义过滤器。我检查了用户是否有gravatar或上传了自己的图片。我正在将这些信息写入单独的用户栏,并将其作为
meta_key='avatar'
avatar
Gravatar
记录到数据库中

我试着像解释的那样实现它,但没有成功

这是我的功能,用于显示过滤器输入,按钮位于用户列表顶部

function filter_by_avatar($which)
{
 // template for filtering
 $st = '<select name="avatar_%s" style="float:none;margin-left:10px;">
        <option value="">%s</option>%s</select>';

 // generate options
 $options = '<option value="avatar">Avatar</option>
             <option value="gravatar">Gravatar</option>';

 // combine template and options
 $select = sprintf( $st, $which, __( 'Type of avatar...' ), $options );

 // output <select> and submit button
 echo $select;
 submit_button(__( 'Filter' ), null, $which, false);
}

add_action('restrict_manage_users', 'filter_by_avatar');
当我从Gravatar的头像下拉列表中选择并单击Filter时,结果只是刷新页面

function filter_users_by_avatar_section($query)
{
    global $pagenow;
    if (is_admin() && 'users.php' == $pagenow) {
            // put the filtering code in here
        //$top = $_GET['avatar_top'];
        $top = $_GET['avatar_avatar'];
        //$bottom = $_GET['avatar_bottom'];
        $bottom = $_GET['avatar_gravatar'];
        if (!empty($top) OR !empty($bottom))
        {
            $section = !empty($top) ? $top : $bottom;

            $meta_query = array (array (
                'key' => 'avatar',
                'value' => $section,
                'compare' => 'LIKE'
            ));
            $query->set('meta_key', 'avatar');
            $query->set('meta_query', $meta_query);
        }
    }
}