get_users avec role et seach en même temps (Créer un compte)

  • Statut : non résolu
3 sujets de 1 à 3 (sur un total de 3)
  • Auteur
    Messages
  • #527866
    thx1138
    Participant
    Initié WordPress
    5 contributions

    Bonjour,

    avec ceci :

    $args = array(
    ‘role’ => ‘subscriber’,
    );

    $users = get_users($args);

    je liste bien tous les users subscriber.

    maintenant si je met ceci :

    $args = array(
    ‘role’ => ‘subscriber’,
    ‘search’ => ‘pla’
    );

    $users = get_users($args);

    il trouve les users avec pla mais aussi les non subscriber

    quid ? (j’ai S2Member installé)

    merci de votre aide

    WP 3.6

    #910483
    lefevre
    Membre
    Chevalier WordPress
    255 contributions

    Bonjour, peux-tu formuler une question exacte ? Cela aidera les novices en la matière. Merci !

    #910484
    thx1138
    Participant
    Initié WordPress
    5 contributions

    ok sorry, je recommence.

    Je veux afficher le listing des ‘subscriber’ avec une recherche texte. (j’utilise pour cela la fonction WP get_users()).

    D’abord, je test si je sais récupérer correctement tous les ‘subscriber’.

    j’utilise le code suivant :

    get_users(array(‘role’=>’subscriber’ ));

    ca fonctionne correctement, WP m’affiche la liste de mes 12 ‘subscriber’.

    Maintenant, dans ma page j’ajoute un form de recherche pour exécuter une recherche.

    Je modifie mon code

    get_users(array(‘role’=>’subscriber’,’search’=>$monParamDeRecherche ));

    et là, ca pose problème. WP affiche bien les users correspondant à $monParamDeRecherche mais il m’affiche aussi des users avec un role différent de ‘subscriber’.

    J’ai le même résultat avec la valeur en dur à la place de $monParamDeRecherche et testé également avec la fonction WP_user_query.

    Je pense que lorsqu’on met search comme argument, il ne tient plus compte du rôle.

    Bien sur, je peux filtrer dans la boucle lors de l’affichage, mais c’est un peux plus lourd (moins optimisé).

    Merci

3 sujets de 1 à 3 (sur un total de 3)
  • Vous devez être connecté pour répondre à ce sujet.