wpタグによるIF文(条件分岐)の使い方
-2015年05月30日-
◎条件ひとつ?複数の時
<?php if ( 条件1 ): ?>
// 条件1に該当する場合の処理
<?php endif; ?>
<?php if ( 条件1 ): ?>
// 条件1に該当する場合の処理
<?php else: ?>
// 条件1に該当しない場合の処理
<?php endif; ?>
<?php if ( 条件1 ): ?>
// 条件1に該当する場合の処理
<?php elseif ( 条件2 ): ?>
// 条件1に該当せず 且つ 条件2に該当する場合の処理
<?php elseif ( 条件3 ): ?>
// 条件1・2に該当せず 且つ 条件3に該当する場合の処理
<?php endif; ?>
<?php if ( 条件1 ): ?>
// 条件1に該当する場合の処理
<?php elseif ( 条件2 ): ?>
// 条件1に該当せず 且つ 条件2に該当する場合の処理
<?php else: ?>
// どちらにも該当しない場合の処理
<?php endif; ?>
◎「and」 又は 「&&」
「or」 又は 「||」
<?php if ( 条件1 && 条件2 ): ?>
// ここに処理
<?php endif; ?>
<?php if ( 条件1 || 条件2 ): ?>
// ここに処理
<?php endif; ?>
<?php if ( is_single() || is_page() ): ?>
// 個別投稿ページ 又は 固定ページの場合に実装したい処理
<?php endif; ?>
◎条件を反転
<?php if ( ! 条件 ): ?>
// ここに処理
<?php endif; ?>
<?php if ( ! is_single() ): ?>
// 固定ページ以外で実装したい処理(固定ページで実装したくない処理)
<?php endif; ?>
◎条件分岐タグ
is_home()
<?php if(is_home()): ?>
ここはブログのメインページです!
<?php endif; ?>
if(is_home() && !is_paged()):
<?php if(is_home() && !is_paged()): ?>
ブログのトップページです!
2ページ目、3ページ目などの複数ページは含みません。
<?php endif; ?>
if(is_front_page()):
<?php if(is_front_page()): ?>
ここはフロントページです!
<?php endif; ?>
if(is_single()):
<?php if(is_single('17')) : ?>
この記事のページIDは"17"です!
<?php elseif(is_single(array(18, 19, 1, 11))) : ?>
この記事のページIDは"18, 19, 1, 11"のうちのどれかです!
<?php endif ?>
if(is_category()): / if(in_category(‘slug’)):
<?php if(is_category('9')): ?>
カテゴリーIDが"9"の記事を表示します。
<?php elseif(is_category('Stinky Cheeses')): ?>
カテゴリーの名前が"Stinky Cheeses"の記事を表示します。
<?php elseif(is_category('blue-cheese')): ?>
カテゴリースラッグが"blue-cheese"の記事を表示します。
<?php elseif(in_category( array( 1,2,3 ) )): ?>
カテゴリーIDが "1, 2, 3 "の記事を表示します。
<?php elseif(!in_category( array( 4,5,6 ) )): ?>
カテゴリーIDが" 4, 5, 6 "意外の記事を表示します。
<?php endif; ?>
※
in_categoryとis_categoryの違い
is_post_type_archive()
現在表示されているページが「ポストタイプ(post)」のアーカイブかどうかを判定します。
<?php is_post_type_archive( 'posttype' )): ?>
テキストテキストテキストテキスト
<?php endif; ?>
is_tax()
タクソノミーのアーカイブページが表示されている場合で、パラメータ指定すればもっと限定させることができます。
<?php if(is_tax("タクソノミー名")): ?>
テキストテキストテキストテキスト
<?php endif; ?>
複数ページの場合は
<?php if(is_page('5') || is_page('25')) : ?>
このページはID5かID25のぺーじだよ
<?php endif; ?>
投稿ページ各ページの場合は
<?php if(is_single()) : ?>
ここに投稿ページで表示させたいものを色々と書く
<?php else: ?>
ここにそれ以外のページの場合の文章を書く(何も表示させない場合は何も書かなくていいよ)
<?php endif; ?>
カスタム投稿単位のページの場合は
<?php if(is_singular("カスタム投稿名")) : ?>
ここに投稿ページで表示させたいものを色々と書く
<?php else: ?>
ここにそれ以外のページの場合の文章を書く(何も表示させない場合は何も書かなくていいよ)
<?php endif; ?>
アーカイブページの場合は
<?php if(is_archive()) : ?>
ここにアーカイブページで表示させたいものを色々と書く
<?php else: ?>
ここにそれ以外のページの場合の文章を書く(何も表示させない場合は何も書かなくていいよ)
<?php endif; ?>
アイキャッチ画像があるかないかを判断する場合は
<?php if (has_post_thumbnail()): ?>
<?php the_post_thumbnail(); ?>
<?php else: ?>
アイキャッチがない場合の処理をここにかく。(なにも表示させない場合はなにも書かなくていいよ)
<?php endif; ?>
参考サイト:bridge
参考サイト:
Nx World