web-dev-qa-db-fra.com

Pourquoi get_users renvoie-t-il soudain des doublons?

J'ai du mal à comprendre celui-ci.

J'exécute une requête utilisateur simple:

$args = array(
    'role' => 'custom_role',
    'orderby' => 'ID',
    'order' => 'DESC',
    'number' => 3
);
$users = get_users( $args );

Et le tableau résultant a des entrées en double:

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
        )

)

Dans l'exemple, $ utilisateurs [0] et $ utilisateurs [1] sont exactement les mêmes. Dans la base de données, il n'y a pas de doublons.

Cela a commencé récemment et la seule chose qui a été ajoutée est le plugin W3 Total Cache (mais pourquoi cela provoquerait-il un tel comportement?). J'ai essayé de le désactiver, mais les doublons restent.

Quelqu'un at-il une idée de ce qui peut se passer ici?

6
mike23

Cela semble être une question idiote, mais y a-t-il exactement 2 utilisateurs dans la base de données? Ou y a-t-il plus.

La seule chose que je peux voir se produire, c'est que vous définissez la valeur 3, elle revient en boucle.

Une autre chose à essayer est de vérifier l'utilisateur peterpanpan, pour voir s'il a deux fois le rôle custom_role dans son user_meta.

1
Eric Holmes

peut-être que vous pouvez ajouter un filtre distinct sur les get_users? http://codex.wordpress.org/Plugin_API/Filter_Reference/posts_distinct

juste spitballing ..

0
woony