web-dev-qa-db-fra.com

Wordpress - obtenir une publication basée sur le contenu du méta-champ

Je développe un wordpress. J'utilise deux types de messages personnalisés différents, joueurs et équipes.

  • Joueurs a des champs méta pertinents: Prénom, nom et équipe.
  • Équipes a des champs méta pertinents de nom d'équipe.

Lors de la modification d'un article équipe spécifique, j'essaie d'avoir un tableau de tous les joueurs qui ont actuellement ce équipe nom affiché sur leur méta champ pour le nom de l'équipe. Je ne sais pas comment faire ça. Toute aide ou article serait vraiment utile. Merci

26
dremme

L'important est que vous recherchiez des publications en utilisant au moins les trois critères du type de publication, de la clé méta et de la valeur méta.

Par exemple, supposons que votre type de publication personnalisé s'appelle simplement "player" Et, chaque publication "player" a un méta champ attaché appelé "player_team"

Vous pouvez ensuite rechercher ces messages en utilisant quelque chose comme ceci:

$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" );
24
jn_pdx

Ou en utilisant 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);

Une autre requête équivalente utilisant meta_query au lieu de meta_key et meta_value:

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