Implementando uma declaração OR para wordpress wp_query

Estou tentando retornar todos os posts que atendam às seguintes condições:

A categoria deve ser 63

OU

a postagem deve ter um valor associado à meta-chave chamada ‘android_link’

Atualmente, minha matriz de argumento atual não funciona porque está pedindo que essas duas condições sejam atendidas. É possível alterá-lo para que apenas uma dessas condições deve ser cumprida para retornar uma postagem?

$args = array( 'paged' => $paged, 'order' => 'DESC', 'meta_key' => 'android_link', 'post_type' => array( 'post', 'app' ), 'cat' => '63', 'meta_query' => array( array( 'key' => 'android_link', 'compare' => 'EXISTS', ) ) ); 

Solutions Collecting From Web of "Implementando uma declaração OR para wordpress wp_query"

Você pode executar duas consultas e mesclar os resultados:

 $cat_query_args = array( 'paged' => $paged, 'order' => 'DESC', 'meta_key' => 'android_link', 'post_type' => array( 'post', 'app' ), 'cat' => '63', ); $meta_query_args = array( 'meta_query' => array( array( 'key' => 'android_link', 'compare' => 'EXISTS', ) ) ); $cat_query = new WP_Query( $cat_query_args ); $meta_query = new WP_Query( $meta_query_args ); $merged_query_args = array_merge( $cat_query, $meta_query ); $merged_query = new WP_Query( $merged_query_args ); 

Você pode executar duas consultas e iterar através dos resultados separadamente.

 $paged = (get_query_var('paged')) get_query_var('paged'); $cat_query_args = array( 'paged' => $paged, 'order' => 'DESC', 'meta_key' => 'android_link', 'post_type' => array( 'post', 'app' ), 'cat' => '63', ); $meta_query_args = array( 'meta_query' => array( array( 'key' => 'android_link', 'compare' => 'EXISTS', ) ) ); $cat_query = new WP_Query( $cat_query_args ); $meta_query = new WP_Query( $meta_query_args ); 

Execute um loop de loop simples para $cat_query e, depois disso, execute um outro loop while para os resultados de $meta_query . Isso criará o mesmo efeito que você estiver executando OU operação em seus parâmetros de consulta.