WordPress – получить сообщение, основанное на мета-полевом содержимом

Я разрабатываю плагин wordpress. Я использую два разных пользовательских типа сообщений, игроков и команд .

  • Игроки имеют соответствующие мета-поля: имя, фамилия и команда.
  • Команды имеют соответствующие метаполя имени команды.

При редактировании определенной должности команды я пытаюсь иметь массив всех игроков, которые в настоящее время имеют имя этой команды, отправленное в свое мета-поле для имени команды. Я не уверен, как это сделать. Любая помощь или статьи будут действительно полезны. благодаря

Важно то, что вы запрашиваете сообщения, используя по крайней мере три критерия типа сообщения, мета-ключа и мета-значения.

Например, предположим, что ваш пользовательский тип сообщения называется «игрок». И каждый пост «игрока» имеет мета-поле, которое называется «player_team»,

Затем вы можете запросить эти сообщения, используя что-то вроде этого:

$teamname = ""; // the player's team that you're querying for $myquery = new WP_Query( "post_type=player&meta_key=player_team&meta_value=$teamname&order=ASC" ); 

Или используя get_posts :

 $args = array( 'meta_key' => 'player_team', 'meta_value' => $teamname, 'post_type' => 'player', 'post_status' => 'any', 'posts_per_page' => -1 ); $posts = get_posts($args); 

Другой эквивалентный запрос, использующий meta_query вместо meta_key и meta_value :

 $args = array( 'meta_query' => array( array( 'key' => 'player_team', 'value' => $teamname ) ), 'post_type' => 'player', 'posts_per_page' => -1 ); $posts = get_posts($args);