Tôi đang làm việc trên một mẫu trang thuật ngữ phân loại tùy chỉnh nơi chúng tôi muốn các mục được kết nối với thuật ngữ được sắp xếp theo ngày xuất bản (trường ngày tùy chỉnh) - và nếu có nhiều mục trong cùng một ngày (được định dạng như YYYY-MM- DD) để sắp xếp chúng theo tiêu đề và cuối cùng sắp xếp theo tiêu đề nếu trường tùy chỉnh chưa được điền (các mục cũ hơn).
Vì vậy, tôi đã thử hàng trăm cách khác nhau với WP_query và nó trả về hầu hết các kết quả như tôi muốn - nhưng trong trường hợp này, nó chỉ trả về các mục có meta_key của Publishing_date. Tất cả các mục khác đang bị bỏ qua và không được hiển thị. Tôi đã thử một meta_query bằng cách sử dụng mối quan hệ "hoặc" và so sánh ấn phẩm_date là EXISTS và KHÔNG EXISTS, nhưng điều đó trả về 0 kết quả cho tôi.
Ngoài ra, trang web vẫn đang chạy 3.5.2 và họ không muốn nâng cấp.
Đây là truy vấn gần đây nhất của tôi giúp tôi có các bài đăng có trường tùy chỉnh ấn phẩm_date được hiển thị theo đúng thứ tự:
$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',
));
Tôi cũng đã thử sử dụng wpdb và chạy truy vấn SQL, nhưng tôi thực sự không chắc chắn làm thế nào để thực hiện những gì tôi muốn làm điều đó. Nếu ai đó có thể giúp tôi ra thì đó sẽ là tuyệt vời!
Cảm ơn trước.
'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' ) ),
nhưng thứ tự không hoạt động: \