28

私はワードプレスプラグインを開発しています。私は2つの異なるカスタム投稿タイプ、プレーヤーチームを使用しています。

  • プレーヤーには、関連するメタフィールド(名、姓、チーム)があります。
  • チームには、チーム名の関連するメタフィールドがあります。

特定のチーム投稿を編集しているときに、現在そのチーム名を持っているすべてのプレーヤーの配列をチーム名のメタフィールドに投稿しようとしています。これを行う方法がわかりません。ヘルプや記事は本当に役に立ちます。ありがとう

4

2 に答える 2

64

または使用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);

andmeta_queryの代わりに使用する別の同等のクエリ:meta_keymeta_value

$args = array(
    'meta_query' => array(
        array(
            'key' => 'player_team',
            'value' => $teamname
        )
    ),
    'post_type' => 'player',
    'posts_per_page' => -1
);
$posts = get_posts($args);
于 2013-09-13T05:10:12.860 に答える
25

重要なことは、投稿タイプ、メタキー、メタ値の少なくとも3つの基準を使用して投稿をクエリしていることです。

たとえば、カスタム投稿タイプが単に「player」と呼ばれ、各「player」投稿に「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" );
于 2012-06-17T06:20:01.723 に答える