うさぎのイラスト

ネットアンサー55備忘録

web技術を書いていきます

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