Code snippets ultimate member

Als je wilt zoeken binnen WordPress users, of in Ultimate Member members, (wat op hetzelfde neerkomst), zou je denken dat dit makkelijk gedaan kan worden met een meta_query, of met de user zoek functionaliteit dat zit ingebouwd in WordPress.

Dat is niet het geval! Terwijl ik bezig was hiervoor code te schrijven kwam ik erachter dat er geen gebruikers gevonden worden op username. Even wat verder zoekende kwam ik er achter dat de query die WordPress genereert alleen in de wp_usermeta tabel zoekt. En de username is onderdeel van de wp_users tabel.

Aan de andere kant, als je zoekt met de “search” query, zal WordPress alleen zoeken in de wp_users tabel, dus zal je geen users vinden op voornaam of achternaam.

Om dit op te lossen, moet je de twee combineren. In het voorbeeld hieronder bevat de totalusers variabele de lijst users waarbij $str voorkomt in ofwel username, user_nicename, user_email, firstname, of lastname. Je kan dit naar wens uitbreiden natuurlijk.

//search usertable
$wp_user_query = new WP_User_Query(
  array(
    'search' => "*{$str}*",
    'search_columns' => array(
    'user_login',
    'user_nicename',
    'user_email',
  ),

) );
 $users = $wp_user_query->get_results();

//search usermeta
 $wp_user_query2 = new WP_User_Query(
  array(
    'meta_query' => array(
    'relation' => 'OR',
      array(
        'key' => 'first_name',
        'value' => $str,
        'compare' => 'LIKE'
      ),
    array(
        'key' => 'last_name',
        'value' => $str,
        'compare' => 'LIKE'
      )
    )
  )
 );

$users2 = $wp_user_query2->get_results();

$totalusers_dup = array_merge($users,$users2);

$totalusers = array_unique($totalusers_dup, SORT_REGULAR);

Related Articles

  • Het laden van een deel van je pagina uitstellen

    Snelheid is belangrijk, en tegelijkertijd worden websites eigenlijk steeds zwaarder. Een deel van het optimaliseren van je site kan je doen door stukken van je website die erg traag zijn,...
  • Dynamisch de alt en title van een afbeelding aanpassen

    Alt en title vaak niet ingevuld Als je automatisch afbeeldingen importeert, je hebt website redacteuren die de alt tags niet invullen, of je neemt een site in beheer waar dat...
  • Extra velden toevoegen aan je custom post type

    Als je goed hebt nagedacht over je website structuur, dan heb je waarschijnlijk al een paar custom post types gedefinieerd, zoals testimonials, klanten, boeken, producten. Maar deze post types hebben...
  • Bootstrap menu in WordPress gebruiken

    Bootstrap is een fantastisch framework om je website op te bouwen, maar om het goed te kunnen gebruiken moet je een paar dingen een beetje aanpassen. Het menu werkt bijvoorbeeld...

Laat een reactie achter