カスタムフィールドでの絞り込みをやったのでそのまとめ。
例えば、「今日のおススメ商品」としてトップページに任意の記事だけ表示したい時に使えます♪
ということで、今回は記事をピックアップするやり方。
- カスタムフィールドを使ってみる
- カスタムフィールドに入力する
- プラグイン:カスタムフィールドを使う場合
- テンプレートの修正
- 絞り込みのためのソース
- カスタムフィールドをサイトの表示させる場合
- WPの関数で表示
- プラグイン:カスタムフィールドを使っている場合
今回のポイント!カスタムフィールドで真偽を判断する
今回の場合は、(「今日のおススメ商品」として)記事を表示するかしないか、1or0・TRUEorFALSEのような真偽で判断します。
カスタムフィールドを使ってみる
まずカスタムフィールドに入力します。
- 名前 : pickup
- 値 : 1
今回は上記のようにしました。今回は真偽なので数字(TRUE=1,FALSE=0)を入れてますが、値には文字列をいれても大丈夫です。
プラグイン:カスタムフィールドを使う場合
プラグイン使って作ったカスタムフィールドも、投稿画面の表示オプションでカスタムフィールド表示させるとそこにも表示されます。
※ここでフィールド削除すると、プラグインで表示させてる入力フィールドの入力内容が消えるので注意。←やった人
プラグインでフィールドタイプ真偽で作ったものも、数字の1がTRUEになるようになってました。
テンプレートの修正
- カスタムフィールド名前 : meta_key
- カスタムフィールド値 : meta_value
- カスタムフィールドを評価する演算子 : meta_compare
これでカスタムフィールドを評価していきます。
絞り込みのためのソース
[php toolbar="true"]
$args = Array(
'post_type' => 'post', //投稿記事から
'orderby' => 'rand', //ランダム表示
'posts_per_page' => 6, //表示件数は6件
'meta_key' => 'pickup', //カスタムフィールド名
'meta_value' => 1 //カスタムフィールド値
);
$pickupitem = new WP_Query($args); //絞り込みの条件で抽出した記事の配列を$pickupitemに代入
if($pickupitem -> have_posts()) :
while ($pickupitem -> have_posts()) : $pickupitem -> the_post();
//表示させたい処理
endwhile;
endif;
[/php]
私の場合は、page.phpを商品カテゴリのトップページのようにしているので、中でカテゴリ毎に条件分岐させて上述のソース書いてます。
カスタムフィールドをサイトの表示させる場合
echo get_post_meta($post->ID,'カスタムフィールド名',true);
1つのカスタムフィールド名に対して、1つしか値がない場合は、上記で表示されます。
第3引数をtrueにすると文字列になります。falseにした場合は、配列で表示されます。
プラグイン:カスタムフィールドを使っている場合
プラグインによって、関数が用意されています。便利ぃ!
- the_field('カスタムフィールド名');
- get_field('カスタムフィールド名');
以上です!
簡単・気軽に使えて、条件分岐など柔軟に使えるカスタムフィールド。今回初めて使いましたが、かなり便利ですねー。私はカスタム投稿タイプとかと合わせて使ったのですが、本当何でも出来ちゃいます。
利用方法は考え方次第で∞ですよ★