サポート » 使い方全般 » 特定のカスタムフィールド値を持つ記事を50音順に並べたい

  • 解決済 gin260

    (@gin260)


    現在、カスタム投稿タイプの記事内に以下のカスタムフィールドを設けております。

    [ふりがな]
    type = text
    size = 100
    blank = true

    [グループ]
    type = select
    value = Aグループ # Bグループ # Cグループ # Dグループ

    ■やりたいこと
    これを、Aグループの値を持つ記事だけを一覧で表示し、更に「ふりがな」に入力した値を元に50音順に並べ替えたいと思います。
    ※グループ分けはカテゴリーやタグを使うことも考えましたが、既にカテゴリーには多くのカテゴリーが存在し、その上グループ追加では選びにくくなってしまうということ、素人が扱うものであることを考慮し今の形になっております。

    ■現状
    ●Aグループの値を持つ記事だけを一覧で表示

    <?php query_posts( array(
      'post_type' => 'words' ,
      'posts_per_page' => '-1' ,
      'meta_key' => 'グループ',
      'meta_value' => 'Aグループ',
    ));
    ?>

    ●ふりがなに入力された値を元に50音順にソート

    <?php query_posts( array(
      'orderby' => 'meta_value',
      'meta_key' => 'ふりがな',
      'order' => 'ASC',
    ));
    ?>

    それぞれの処理は分かっているのですが、当然ながらこの2つを一緒に記述すると
    meta_key が重複してしまい、理想の形になりません。

    この場合、どのような記述をすれば良いのでしょうか。
    どなたかお答えいただければ幸いです。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • 未確認です。

    <?php
    $args = array(
        'post_type' => 'words',
        'meta_query' = array(
            array(
                'key' => 'グループ',
                'value' => 'Aグループ',
            )
        ),
        'meta_key' => 'ふりがな',
        'orderby' => 'meta_value',
        'order' => 'ASC',
    );
    query_posts($args);
    ?>

    トピック投稿者 gin260

    (@gin260)

    pluto1234さん有難うございました!
    頂きましたソースを元に、以下で希望通りの表示になりました。

    <?php $args = array(
    	'post_type' => 'words',
    	'orderby' => 'meta_value',
    	'meta_key' => 'ふりがな',
    	'order' => 'ASC',
    	'meta_query' => array(
    		array(
    		'key'=>'グループ',
    		'value'=>'Aグループ',
    			),
    		)
    	);
    	query_posts( $args );
    ?>

    ずっと悩んでいたのですが、お陰様で無事に表示することができました。
    この度は本当に有難うございました。
    この記事は「解決済み」とさせていただきます。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • トピック「特定のカスタムフィールド値を持つ記事を50音順に並べたい」には新たに返信することはできません。