WP-Benutzerabfrage mit benutzerdefinierten Feldern und Suchergebnissen

Ich versuche eine Suche auszuführen, die ein Benutzerprofil mit hinzugefügten erweiterten benutzerdefinierten Feldern durchsucht. Ich verwende die WP-Benutzerabfrage. Eines meiner Felder, gegen das ich suche, ist ein Repeater-Feld (business_information) und seine Unterfelder (business_name).

Ich verwende die Informationen auf dieser ACF-Dokumentationsseite, # 4 Unter Benutzerdefinierte Feldwerte

Mit meinen Variablen sieht das so aus:

function my_posts_where( $where ) { $where = str_replace("meta_key = 'business_information_%", "meta_key LIKE 'business_information_%", $where); return $where; } add_filter('posts_where', 'my_posts_where'); if( !empty( $_GET['usersearch'] ) ){ $usersearch = stripslashes( trim($_GET['usersearch']) ); // WP_User_Query arguments $args = array( 'role' => 'Subscriber', 'meta_query' => array( array( 'key' => 'membership_class', 'value' => 'Full', 'compare' => '=', 'type' => 'CHAR', ), array( 'relation' => 'OR', array( 'key' => 'first_name', 'value' => $usersearch, 'compare' => 'LIKE' ), array( 'key' => 'last_name', 'value' => $usersearch, 'compare' => 'LIKE' ), array( 'key' => 'personal_city', 'value' => $usersearch, 'compare' => 'LIKE', 'type' => 'CHAR', ), array( 'key' => 'personal_province', 'value' => $usersearch, 'compare' => 'LIKE', 'type' => 'CHAR', ), array( 'key' => 'treatments', 'value' => $usersearch, 'compare' => 'LIKE', ), array( 'key' => 'business_information_%_business_name', 'value' => $usersearch, 'compare' => 'LIKE', ), ), ), ); 

Die Anfrageausgabe:

 SELECT DISTINCT SQL_CALC_FOUND_ROWS wp_users.* FROM wp_users INNER JOIN wp_usermeta ON ( wp_users.ID = wp_usermeta.user_id ) INNER JOIN wp_usermeta AS mt1 ON ( wp_users.ID = mt1.user_id ) INNER JOIN wp_usermeta AS mt2 ON ( wp_users.ID = mt2.user_id ) WHERE 1=1 AND ( ( ( ( wp_usermeta.meta_key = 'membership_class' AND wp_usermeta.meta_value = 'Full' ) AND ( ( mt1.meta_key = 'first_name' AND mt1.meta_value LIKE '%name%' ) OR ( mt1.meta_key = 'last_name' AND mt1.meta_value LIKE '%name%' ) OR ( mt1.meta_key = 'personal_city' AND mt1.meta_value LIKE '%name%' ) OR ( mt1.meta_key = 'personal_province' AND mt1.meta_value LIKE '%name%' ) OR ( mt1.meta_key = 'treatments' AND mt1.meta_value LIKE '%name%' ) OR ( mt1.meta_key = 'business_information_%_business_name' AND mt1.meta_value LIKE '%name%' ) ) ) AND ( ( ( mt2.meta_key = 'wp_capabilities' AND mt2.meta_value LIKE '%\"Subscriber\"%' ) ) ) ) ) ORDER BY user_login ASC 

Nun, ich werde der Erste sein, der zugibt, ich weiß nicht, was zur Hölle ich mache, aber der Rest der Suche funktioniert genau so, wie ich es möchte. Es ist nur das Business-Repeater-Feld, das nicht richtig in die Suchanfrage eingeht. Von dem, was ich verstehe, soll die obige function das Stück der db-Anfrage ersetzen, aber das tut es nicht, und ich habe KEINE Ahnung, warum oder wie es funktioniert oder wie es eigentlich aussehen soll das Ende. Ich war auf und ab Google und kann keine Antwort finden. Alles scheint mit Posts zu tun zu haben, nicht mit Benutzern, und ich frage mich, ob das mein Auflegen ist? Weiß jemand etwas, das helfen kann?

Solutions Collecting From Web of "WP-Benutzerabfrage mit benutzerdefinierten Feldern und Suchergebnissen"