Я працюю над шаблоном сторінки терміна користувальницької таксономії, де ми хочемо, щоб елементи, пов’язані з терміном, відсортовані за датою публікації (спеціальне поле дати) - і якщо в один день є кілька елементів (відформатованих як РРРР-ММ- DD), щоб потім сортувати їх за заголовком і, нарешті, сортувати за заголовком, якщо спеціальне поле не було заповнене (старі елементи).
Отже, я спробував це сто різними способами за допомогою WP_query, і він повертає більшість результатів так, як мені хочеться, але в цьому випадку це лише повернення елементів, які мають мета-ключ публікації_дачі. Усі інші елементи ігноруються та не відображаються. Я спробував meta_query, використовуючи співвідношення "або" і порівняв публікацію_date як EXISTS, а не EXISTS, але це повернуло 0 результатів для мене.
Також на сайті працює версія 3.5.2, і вони не хочуть оновлюватись.
Ось мій останній запит, який отримує мені публікації, у яких у правильному порядку відображається користувацьке поле публікації_дані:
$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',
));
Я також спробував використовувати wpdb та запустити SQL-запит, але я дійсно не впевнений, як досягти того, що я хочу робити. Якби хтось міг мені допомогти, це було б приголомшливо!
Заздалегідь спасибі.
'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' ) ),
але замовлення не працює: \