Estou trabalhando em um modelo de página de termo de taxonomia personalizado em que queremos que os itens conectados ao termo sejam classificados por uma data de publicação (campo de data personalizado) - e se houver vários itens no mesmo dia (formatado como AAAA-MM- DD) para classificá-las por título e, finalmente, classificar por título, se o campo personalizado não tiver sido preenchido (itens mais antigos).
Então, tentei centenas de maneiras diferentes com um WP_query e ele retornou a maioria dos resultados como eu os desejava - mas, neste caso, está retornando apenas os itens que possuem a meta_key de publicação_data. Todos os outros itens estão sendo ignorados e não são exibidos. Eu tentei uma meta_query usando uma relação de "ou" e comparei a publicação_data como EXISTS e NOT EXISTS, mas isso retornou 0 resultados para mim.
Além disso, o site ainda está executando o 3.5.2 e eles não desejam atualizar.
Aqui está minha consulta mais recente que mostra as postagens que têm o campo personalizado de publicação_data exibido na ordem correta:
$term = get_queried_object(); // find the term of the taxonomy page we are on
$wp_query = new WP_Query( array(
'post_type' => 'resource',
'tax_query' => array(
array(
'taxonomy' => 'resource_types',
'field' => 'slug',
'terms' => $term->name,
)),
'meta_key' => 'publication_date',
'orderby' => 'meta_value_num',
'order' => 'DESC',
'paged' => $paged,
'posts_per_page' => '10',
));
Também tentei usar o wpdb e executar uma consulta SQL, mas realmente não sei como realizar o que quero fazer isso. Se alguém pudesse me ajudar, isso seria incrível!
Desde já, obrigado.
'meta_query' => array( 'relation' => 'OR', array( //check to see if date has been filled out 'key' => 'publication_date', 'compare' => '!=', 'value' => date('Y-m-d'), ), array( //if no date has been added show these posts too 'key' => 'publication_date', 'value' => date('Y-m-d'), 'compare' => 'NOT EXISTS' ) ),
mas a ordem não está funcionando: \