So stoppen Sie wp_query, indem Sie Seiten sowie den angegebenen CPT durchsuchen

Ich habe einen CPT mit mehreren Feldern. Ich habe ein benutzerdefiniertes Eingabeformular, das einen Namen als Eingabe annimmt, und dies wird in der $ name-Variablen gespeichert. Ich muss meinen CPT nach diesem Namen suchen, entweder als CPT-Titel oder in einem der Felder gespeichert. Ich muss dann diese einen oder mehrere CPTs auf einer einzelnen benutzerdefinierten Schablonenseite anzeigen.

Dies ist mein aktueller Code

$args1 = array( 's' => $surname, 'post_type' => 'studies' ); $query = new WP_Query ($args1); 

Das funktioniert gut und findet den Namen wie ich es will, ABER es findet und gibt auch Seiten zurück, die auch denselben Namen haben. Ich habe versucht, genau in den Abfrageparametern einzuschalten, und das stoppt die Anzeige der Seiten, aber stoppt auch, die kundenspezifischen Felder in der CPT zu suchen.

Um die Daten vom CPT zu bekommen, verwende ich einfach get_post_meta wie folgt:

 get_post_meta($post->ID, 'study_location', true) 

Ich habe mehrere Stunden damit verbracht, hier und auf Google ohne Erfolg zu suchen, ich hätte gedacht, wenn ich den Post-Typ als Studien angeben würde, würde es auch den Post-Typ der Seite nicht durchsuchen.

Dies ist die Abfrage, die ausgegeben wird, so dass sie den Inhalt von args1 zu ignorieren scheint

 SELECT SQL_CALC_FOUND_ROWS ts14_posts.ID FROM ts14_posts WHERE 1=1 AND (((ts14_posts.post_title LIKE '%Pennyfather%') OR (ts14_posts.post_content LIKE '%Pennyfather%'))) AND ts14_posts.post_type IN ('post', 'page', 'attachment', 'studies', '1.23') AND ((ts14_posts.post_status = 'publish')) ORDER BY ts14_posts.post_title LIKE '%Pennyfather%' DESC, ts14_posts.post_date ASC LIMIT 0, 10 

Solutions Collecting From Web of "So stoppen Sie wp_query, indem Sie Seiten sowie den angegebenen CPT durchsuchen"