Как упорядочить пост-запрос WordPress по значению в связанном настраиваемом типе поста? - PullRequest
0 голосов
/ 25 февраля 2020

Я запрашиваю пользовательский тип записи ( игры ), который имеет два настраиваемых поля ( game_time и away_team ). game_time - это просто дата и время. away_team - другой пользовательский тип записи ( team ). Я хочу упорядочить результаты сначала по game_time (достаточно просто), а затем в алфавитном порядке по значению " name " away_team .

Как мне сказать WP, чтобы я упорядочил свой запрос на основе значения ( name ) соответствующего настраиваемого сообщения ( away_team )?

В настоящее время у меня есть что-то подобное :

$args = array(
    'post_type' => 'game',
    'posts_per_page' => -1,
    'meta_query' => array(
        'relation' => 'AND',
        'gametime_clause' => array(
            'key' => 'game_time',
            'compare' => 'EXISTS'
        ),
        'awayteam_clause' => array(
            'key' => 'away_team',
            'compare' => 'EXISTS'
        ), 
    ),
    'orderby' => array( 'gametime_clause' => 'ASC', 'awayteam_clause' => 'DESC'),       
);
$games = new WP_Query($args);

... и это будет сортировать по game_time и away_team , но только по идентификатору away_team (который не является не полезно для конечного пользователя). Я хочу отсортировать по away_team .

Мои данные выглядят так:

Game

  • ID (int )
  • game_time (datetime)
  • home_team (команда)
  • away_team (команда)

Команда

  • ID (int)
  • имя (текст)

В SQL Я бы сделал что-то вроде:

SELECT * FROM games JOIN teams ON games.away_team=teams.id ORDER BY game_time, teams.name;

Так что, похоже, мне нужно воссоздать концепция JOIN в WP.

...