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