WordPressにはカスタムフィールドを簡単に作れる便利なプラグインがいくつか存在します。
有名どころだと『Advanced Custom Fields』ですかね。
自分もこれを使うことが多いです。
ただ使っているテーマによっては『Advanced Custom Fields』が使えないことがあります。
そんな時の代替として『Smart Custom Fields』というプラグインを使うこともあります。
今回は『Smart Custom Fields』を使ってチェックボックスを設置。
そのチェックボックスにチェックが入っているかどうかで条件分岐させるというお話。
例えば店舗一覧のページでランチがあるかどうかをチェックボックスで入力させる。
で、ランチがやっている店舗に関してはランチアイコンを表示させるといった用途で使います。
コードはこちら。
$args = array(
'post_type' => '投稿タイプ',
'posts_per_page' => -1,
);
$my_posts = get_posts( $args );
if ( $my_posts ) {
//投稿内のデータをforeachで回す
foreach ( $my_posts as $post ) :
setup_postdata( $post );
$temp_data = null;
$temp_data = get_post_custom($post->ID);
//カスタムフィールド『hoge』が空だったら
if(empty($temp_data['hoge(カスタムフィールドの名前)'])):
//空のliタグを出力
echo '<li>','</li>';
else:
//データがあれば(チェックされていれば)アイコンを表示
echo '<li>','<img src=" '. get_stylesheet_directory_uri() .'/img/icon.png">','</li>';
endif;
endforeach;
}
wp_reset_postdata();
カスタムフィールドの名前は以下の画像の赤枠部分にいれた情報を使います。
『Advanced Custom Fields』に比べると若干情報が少ないですがとても便利なプラグインです。
『Smart Custom Fields』の詳細はこちらから。
Smart Custom Fields – モンキーレンチ