Почему пользователи get внезапно возвращают дубликаты?
Мне трудно разобраться в этом вопросе.
Я выполняю простой запрос пользователей:
$args = array(
'role' => 'custom_role',
'orderby' => 'ID',
'order' => 'DESC',
'number' => 3
);
$users = get_users( $args );
И полученный массив содержит повторяющиеся записи:
Array
(
[0] => stdClass Object
(
[ID] => 11433
[user_login] => peterpanpan
[user_pass] => $P$B1SJOYhvsDRBGLU4hpr4zsdffJdDD.Y0
[user_nicename] => peterpanpan
[user_email] => **********@gmail.com
[user_url] =>
[user_registered] => 2011-11-29 14:20:46
[user_activation_key] =>
[user_status] => 0
[display_name] => Peter Pan
)
[1] => stdClass Object
(
[ID] => 11433
[user_login] => peterpanpan
[user_pass] => $P$B1SJOYhvsDRBGLU4hpr4zsdffJdDD.Y0
[user_nicename] => peterpanpan
[user_email] => **********@gmail.com
[user_url] =>
[user_registered] => 2011-11-29 14:20:46
[user_activation_key] =>
[user_status] => 0
[display_name] => Peter Pan
)
[2] => stdClass Object
(
[ID] => 10663
[user_login] => dmartin
[user_pass] => $P$BLFk4yteiCQnVbyXMbMy4jOpBbytw3/
[user_nicename] => enfont
[user_email] => **********@yahoo.fr
[user_url] =>
[user_registered] => 2011-11-09 14:03:49
[user_activation_key] =>
[user_status] => 0
[display_name] => Deanmartin
)
)
В примере $users[0] и $users[1] абсолютно одинаковы. В базе данных нет дубликатов.
Это начало происходить недавно, и единственное, что было добавлено, - это плагин W3 Total Cache (но почему это может вызвать такое поведение?). Я попытался отключить его, но дубликаты остаются.
Кто-нибудь имеет представление о том, что здесь может происходить?
2 answers
Кажется глупым вопросом, но есть ли в базе данных ровно 2 пользователя? Или есть еще что-то.
Единственное, что я вижу, происходит, потому что вы устанавливаете значение 3, оно повторяется.
Еще одна вещь, которую нужно попробовать, - это проверить пользователя peterpanpan, чтобы увидеть, есть ли у него custom_role дважды в его user_meta.
Может быть, вы можете добавить отдельный фильтр для get_users? http://codex.wordpress.org/Plugin_API/Filter_Reference/posts_distinct
Просто плевок..