Tôi đang sử dụng một vòng lặp tùy chỉnh để hiển thị các sự kiện của mình trên một trang, tôi thấy ổn khi sắp xếp theo ngày bắt đầu sự kiện bằng cách sử dụng bên dưới
$args = array[
'post_type' => 'event',
'order' => 'ASC',
'orderby' => 'meta_value',
'meta_key' => '_event_start_date'];
$loop = new WP_Query[ $args ];
Nhưng tùy chọn meta_key chỉ cho phép một giá trị. Làm cách nào để sử dụng hai giá trị [
$args = array[
'post_type' => 'event',
'meta_query' => array[
'relation' => 'AND',
'event_start_date_clause' => array[
'key' => '_event_start_date',
'compare' => 'EXISTS',
],
'event_start_time_clause' => array[
'key' => '_event_start_time',
'compare' => 'EXISTS',
],
],
'orderby' => array[
'event_start_date_clause' => 'ASC',
'event_start_time_clause' => 'ASC',
],
];
$loop = new WP_Query[ $args ];
1 và $args = array[
'post_type' => 'event',
'meta_query' => array[
'relation' => 'AND',
'event_start_date_clause' => array[
'key' => '_event_start_date',
'compare' => 'EXISTS',
],
'event_start_time_clause' => array[
'key' => '_event_start_time',
'compare' => 'EXISTS',
],
],
'orderby' => array[
'event_start_date_clause' => 'ASC',
'event_start_time_clause' => 'ASC',
],
];
$loop = new WP_Query[ $args ];
2]?Giải pháp tốt nhất
Đây là thứ mà WordPress đã thêm hỗ trợ trong 4. 2. https. //chế tạo. báo chí. org/core/2015/03/30/query-improvements-in-wp-4-2-orderby-and-meta_query/
Trong trường hợp của bạn, có lẽ bạn sẽ muốn làm điều gì đó như thế này
$args = array[
'post_type' => 'event',
'meta_query' => array[
'relation' => 'AND',
'event_start_date_clause' => array[
'key' => '_event_start_date',
'compare' => 'EXISTS',
],
'event_start_time_clause' => array[
'key' => '_event_start_time',
'compare' => 'EXISTS',
],
],
'orderby' => array[
'event_start_date_clause' => 'ASC',
'event_start_time_clause' => 'ASC',
],
];
$loop = new WP_Query[ $args ];
Giải pháp liên quan
Python – Cách sắp xếp danh sách từ điển theo giá trị của từ điển
Hàm nhận tham số
$args = array[
'post_type' => 'event',
'meta_query' => array[
'relation' => 'AND',
'event_start_date_clause' => array[
'key' => '_event_start_date',
'compare' => 'EXISTS',
],
'event_start_time_clause' => array[
'key' => '_event_start_time',
'compare' => 'EXISTS',
],
],
'orderby' => array[
'event_start_date_clause' => 'ASC',
'event_start_time_clause' => 'ASC',
],
];
$loop = new WP_Query[ $args ];
4newlist = sorted[list_to_be_sorted, key=lambda d: d['name']]
Ngoài ra, bạn có thể sử dụng thay vì tự xác định chức năng
from operator import itemgetter
newlist = sorted[list_to_be_sorted, key=itemgetter['name']]
Để đầy đủ, hãy thêm
$args = array[
'post_type' => 'event',
'meta_query' => array[
'relation' => 'AND',
'event_start_date_clause' => array[
'key' => '_event_start_date',
'compare' => 'EXISTS',
],
'event_start_time_clause' => array[
'key' => '_event_start_time',
'compare' => 'EXISTS',
],
],
'orderby' => array[
'event_start_date_clause' => 'ASC',
'event_start_time_clause' => 'ASC',
],
];
$loop = new WP_Query[ $args ];
6 để sắp xếp theo thứ tự giảm dần________số 8_______Python – Cách sắp xếp từ điển theo giá trị
Trăn 3. 7+ hoặc CPython 3. 6
Dicts bảo toàn thứ tự chèn trong Python 3. 7+. Tương tự trong Python 3. 6, nhưng đó là chi tiết triển khai
>>> x = {1: 2, 3: 4, 4: 3, 2: 1, 0: 0}
>>> {k: v for k, v in sorted[x.items[], key=lambda item: item[1]]}
{0: 0, 2: 1, 1: 2, 4: 3, 3: 4}
hoặc là
>>> dict[sorted[x.items[], key=lambda item: item[1]]]
{0: 0, 2: 1, 1: 2, 4: 3, 3: 4}
Python cũ hơn
Không thể sắp xếp một từ điển, chỉ để có được một đại diện của một từ điển được sắp xếp. Từ điển vốn đã không có thứ tự, nhưng các loại khác, chẳng hạn như danh sách và bộ dữ liệu, thì không. Vì vậy, bạn cần một kiểu dữ liệu được sắp xếp để biểu thị các giá trị được sắp xếp, đây sẽ là một danh sách—có thể là một danh sách các bộ