Сортировка событий по названию места – сортировка сообщений, заданных соответствующими идентификаторами сообщений

В wordpress я использую плагин Calendar Calendar для размещения событий. Это включает два типа сообщений: события и места.

На индексной странице я хотел бы перечислить ВСЕ события, но упорядочен по их месту в алфавитном порядке.

Прямо сейчас я захватываю все события и сортирую их по идентификатору места (потому что он хранится в метатеге и легко доступен:

<?php global $query_string; $args = array ( 'post_type' => 'tribe_events', 'posts_per_page' => -1, 'meta_key' => '_EventVenueID', 'orderby' => 'meta_value', 'order' => 'ASC', ); $posts = query_posts($args); ?> 

Это работает, но, очевидно, это не алфавит.

Есть ли способ запросить БД для заказа событий по названию места? Как событие, так и место проведения являются типами сообщений. Что-то вроде этого:

 <?php global $query_string; $args = array ( 'post_type' => 'tribe_events', 'posts_per_page' => -1, 'meta_key' => '_EventVenueID', --Grab Venue post.title by Event _EventVenueID = post.ID 'orderby' => 'Venue post.title', 'order' => 'ASC', ); $posts = query_posts($args); ?> 

Похоже, что я получаю результат, содержащий два поля post.ID. Есть ли способ сделать это?

Solutions Collecting From Web of "Сортировка событий по названию места – сортировка сообщений, заданных соответствующими идентификаторами сообщений"

Вы можете использовать meta__value в порядке, например

 'post_type' => 'tribe_events', 'posts_per_page' => -1, 'meta_query' => array( 'relation' => 'AND', 'event_title' => array( 'key' => 'post.title', ), 'event_id' => array( 'key' => 'EventVenueID', ), ), 'orderby' => 'event_title', 

Не тестировалось, но должно работать, это было введено в 4.2 документа WP – https://make.wordpress.org/core/2015/03/30/query-improvements-in-wp-4-2-orderby-and-meta_query/