なんだか久々の感のあるWordpressですわ。
Rubyの方は今ちょっと手付かずにつき、申し訳ございません……(´・ω・`)
ただいまちょっと混乱中なんですよねー……
それはさておき、今回のお題。
以前に『WordPressでカスタム投稿タイプの一覧を表示する』という記事で、
速吸への愛を謳うキモいカスタム投稿タイプ一覧を作成いたしました。
んで今回、そのカスタム投稿タイプの一覧リストを、
カスタムフィールドで絞り込む方法を備忘録として点けておこうかなと。
まずは、実験材料として、以下のようなキモいカスタムフィールドを作成します。
ちなみに当方ではカスタムフィールドの使用に、
プラグインの『Advanced Custom Field』を利用してます。
これもそのうち紹介しましょうかねぇ。
で、そのACFを利用しまして、
以下の様なキモいカスタムフィールドを作成してみました。
一応タイプとしては『真/偽』でして、
『必須か?』の項目は『いいえ』にしてあります。
これを追加した結果、カスタム投稿タイプに以下のような項目が追加されます。
これを各記事適当に入力いたします(`・ω・´)
さらに、前回の記事で作成したコードに、以下の様な変更を加えます。
while ( $the_query->have_posts() ) : $the_query->the_post(); /*ここから追加コード*/ if(get_field('hayasui_love')){ print '<h2>速吸への愛は本物だよっ!!</h2>'; } else{ print '<h2>速吸への愛は本物ではなかったよ……</h2>'; } /*ここまで追加コード*/ get_template_part( 'content', get_post_format() ); endwhile;
そしてその結果、前回作成したリストがこんなふうになります。
ほい。
カスタムフィールド『hayasui_love』の入力結果かキチンと表示されてますな。
ここまで来ると、本物の愛を持っている記事だけを表示させたいもの。
というわけで、同じく前回作成したコードのこの部分。
$args = array( 'post_type'=>;'hayashui-post',/*カスタム投稿タイプの名前*/ ); $the_query = new WP_Query($args);
この$argsの配列に、以下を追加します。
$args = array( 'post_type'=>'hayashui-post',/*カスタム投稿タイプの名前*/ 'meta_key'=>'hayasui_love',/*カスタムフィールドのフィールド名*/ 'meta_value'=>true/*カスタムフィールドの値*/ ); $the_query = new WP_Query($args);
で、出てきた結果がこちら。どすんっ
というわけで、めでたく本物の愛を持った記事だけが表示されました。
ポイントは、『WP_Query』に渡す配列の中に、
『’meta_key’』の値でフィールド名を指定、
『’meta_value’』の値で、実際に値を指定してあげる点でしょうか。
今回は分かりやすくTrue/falseで分類しましたけど、
うまく使えば文字列や値での振り分けも可能です。
更に言うと、数値だった場合は’>=’やら'<‘なんかも利用できますね。
これ、どうも使いはじめるとかなりいい感じのようです。
けっこう使い勝手のいいやり方なので、覚えておくと良さげですわ。
そのうちACFの方も取り上げてみようかな。
でも正直自分とこのブログでいまんとこカスタムフィールド自体、
必要にかられて無いんだよね(;・∀・)