Pre_get_post benutzerdefinierte Taxonomie in Kombination mit benutzerdefinierten Feldern?

So habe ich die function unten, Beiträge nach benutzerdefinierten Begriffen und benutzerdefinierten Feldern zu filtern. Der benutzerdefinierte Taxonomiefilter funktioniert gut. Der benutzerdefinierte Feldfilter funktioniert ebenfalls, was mich wirklich schockierte, da ich keine Erfahrung auf dieser Ebene habe. Meine Frage ist: Ich verwende 'compare'=>'LIKE', für meine benutzerdefinierten Felder und ich frage mich, ob das der beste Weg ist, Beiträge zu filtern, basierend auf den CF-Werten. Grundsätzlich würde ich gerne wissen, ob die unten stehende function eine geeignete Methode zum Herausfiltern von Posts mit der function pre_get_posts ist. Alle Einsichten werden sehr geschätzt!

Ich habe benutzerdefinierte Felder wie diese in meiner database:

 Key: app_customers | Value: a:2:{i:0;s:11:"Private";i:1;s:8:"Business";} key: app_utilities | Value: a:4:{i:0;s:12:"Own studio";i:1;s:14:"Mobile studio";i:2;s:9:"Makeup Artist";i:3;s:22:"Digital photo editing";} 

Unter meinem Code zum Filtern.

 is_main_query() && isset($_GET['ls'])) { //Get value $rt_cat_id = $_GET['listing_cat']; $rt_term_id_country = $_GET['listing_country']; $rt_field_id_customers = $_GET['listing_customers']; $rt_field_id_utilities = $_GET['listing_utilities']; //filter custom terms //Category filter if (isset($rt_cat_id) && !empty($rt_cat_id[0])) { $tax_query[] = array( 'taxonomy' => 'listing_category', 'field' => 'id', 'terms' => array($rt_cat_id[0]), ); } //country filter if (empty($_GET['listing_country']) && isset($rt_term_id_country) && !empty($rt_term_id_country[0])) { $tax_query[] = array( 'taxonomy' => 'listing_country', 'field' => 'id', 'terms' => array($rt_term_id_country[0]), ); } //Filter custom fields //Customers if (isset($rt_field_id_customers) && !empty($rt_field_id_customers[0])) { $meta_query[] = array( 'key'=>'app_customers', 'value'=>$rt_field_id_customers[0], 'compare'=>'LIKE', ); } //utilities if (isset($rt_field_id_utilities) && !empty($rt_field_id_utilities[0])) { $meta_query[] = array( 'key'=>'app_utilities', 'value'=>$rt_field_id_utilities[0], 'compare'=>'LIKE', ); } //Set query only once per filter, to do proper filtering $query->set('tax_query', $tax_query); $query->set('meta_query', $meta_query); } } ?> 

Solutions Collecting From Web of "Pre_get_post benutzerdefinierte Taxonomie in Kombination mit benutzerdefinierten Feldern?"