Terime bağlı öğelerin bir yayın tarihine (özel tarih alanı) göre sıralanmasını istediğimiz özel bir sınıflandırma terim sayfası şablonu üzerinde çalışıyorum - ve aynı günde birden çok öğe varsa (YYYY-AA- DD) daha sonra bunları başlığa göre sıralayın ve son olarak özel alan doldurulmamışsa (eski öğeler) başlığa göre sıralayın.
Bu yüzden, bir WP_query ile yüz farklı şekilde denedim ve sonuçların çoğunu istediğim gibi döndürür - ancak bu durumda sadece public__tete meta_keyine sahip öğeleri döndürür. Diğer tüm öğeler yok sayılıyor ve görüntülenmiyor. "Veya" ilişkisini kullanarak bir meta_query denedim ve publication_date EXISTS ve EXISTS olarak karşılaştırıldı, ama bu benim için 0 sonuç döndürdü.
Ayrıca, site 3.5.2 hala çalışıyor ve yükseltmek istemiyorlar.
Publication_date özel alanı doğru sırada görüntülenen yayınları bana gönderen en son sorgum:
$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',
));
Ben de wpdb kullanarak ve bir SQL sorgusu çalıştırmayı denedim, ama gerçekten nasıl bunu yapmak istediğimi gerçekleştirmek için emin değilim. Birisi bana yardımcı olabilir harika olurdu!
Şimdiden teşekkürler.
'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' ) ),
ama sipariş çalışmıyor: \