Verwenden Sie keine benutzerdefinierten Felder in get_posts () meta_query?

Ist es möglich, nicht benutzerdefinierte Felder in get_posts()'meta_query' zu verwenden, um eine or -relation-statement mit einem benutzerdefinierten Feld und einer Kategorie-ID zu verwenden?

So was:

 $args = array( 'posts_per_page' => 6 , 'offset' => 0 , 'meta_query' => array( 'relation' => 'OR' , array( 'key' => 'placing' , 'value' => 'nn' ) , array( 'key' => 'category_id' , 'value' => $cat->term_id ) ) ); $myposts = get_posts($args); 

Und wenn ja, sollte es term_id oder category_id ?

Oder wie erreiche ich das?

Solutions Collecting From Web of "Verwenden Sie keine benutzerdefinierten Felder in get_posts () meta_query?"

Nein, es funktioniert nicht so, weil meta_query für benutzerdefinierte Felder und tax_query für Taxonomien ist.

Sie können jedoch zwei separate Abfragen ausführen, um alle qualifizierten IDs zu erhalten, und diese IDs dann in einer dritten Abfrage mit post__in . Beispielsweise:

 $cat_query_args = array( 'posts_per_page' => -1, 'cat' => '63', ); $meta_query_args = array( 'posts_per_page' => -1, 'meta_query' => array( array( 'key' => 'placing', 'value' => 'nn', ) ) ); $cat_query = get_posts( $cat_query_args ); $meta_query = get_posts( $meta_query_args ); $merged_posts = array_merge( $cat_query, $meta_query ); $combined_query_args = array( 'posts_per_page' => 6, 'offset' => 0, 'post__in' => $merged_posts ); $combined_posts = get_posts( $combined_query_args );