うさぎのイラスト

ネットアンサー55備忘録

web技術を書いていきます

wpタグによるIF文(条件分岐)の使い方

-2015年05月30日-
◎条件ひとつ?複数の時
1<?php if ( 条件1 ): ?>
2    // 条件1に該当する場合の処理
3<?php endif; ?>
4 
5 
6<?php if ( 条件1 ): ?>
7    // 条件1に該当する場合の処理
8<?php else: ?>
9    // 条件1に該当しない場合の処理
10<?php endif; ?>
11 
12 
13<?php if ( 条件1 ): ?>
14    // 条件1に該当する場合の処理
15<?php elseif ( 条件2 ): ?>
16    // 条件1に該当せず 且つ 条件2に該当する場合の処理
17<?php elseif ( 条件3 ): ?>
18    // 条件1・2に該当せず 且つ 条件3に該当する場合の処理
19<?php endif; ?>
20 
21 
22<?php if ( 条件1 ): ?>
23    // 条件1に該当する場合の処理
24<?php elseif ( 条件2 ): ?>
25    // 条件1に該当せず 且つ 条件2に該当する場合の処理
26<?php else: ?>
27    // どちらにも該当しない場合の処理
28<?php endif; ?>
◎「and」 又は 「&&」
「or」 又は 「||」
1<?php if ( 条件1 && 条件2 ): ?>
2    // ここに処理
3<?php endif; ?>
4 
5 
6<?php if ( 条件1 || 条件2 ): ?>
7    // ここに処理
8<?php endif; ?>
9 
10 
11<?php if ( is_single() || is_page() ): ?>
12    // 個別投稿ページ 又は 固定ページの場合に実装したい処理
13<?php endif; ?>
◎条件を反転
1<?php if ( ! 条件 ): ?>
2    // ここに処理
3<?php endif; ?>
4 
5 
6<?php if ( ! is_single() ): ?>
7    // 固定ページ以外で実装したい処理(固定ページで実装したくない処理)
8<?php endif; ?>
◎条件分岐タグ

is_home()

1<?php if(is_home()): ?>
2    ここはブログのメインページです!
3<?php endif; ?>

if(is_home() && !is_paged()):

1<?php if(is_home() && !is_paged()): ?>
2    ブログのトップページです!
3    2ページ目、3ページ目などの複数ページは含みません。
4<?php endif; ?>

if(is_front_page()):

1<?php if(is_front_page()): ?>
2    ここはフロントページです!
3<?php endif; ?>

if(is_single()):

1<?php if(is_single('17')) : ?>
2    この記事のページIDは"17"です!
3<?php elseif(is_single(array(18, 19, 1, 11))) : ?>
4    この記事のページIDは"18, 19, 1, 11"のうちのどれかです!
5<?php endif ?>

if(is_category()): / if(in_category(‘slug’)):

1<?php if(is_category('9')): ?>
2カテゴリーIDが"9"の記事を表示します。
3<?php elseif(is_category('Stinky Cheeses')): ?>
4    カテゴリーの名前が"Stinky Cheeses"の記事を表示します。
5<?php elseif(is_category('blue-cheese')): ?>
6    カテゴリースラッグが"blue-cheese"の記事を表示します。
7<?php elseif(in_category( array( 1,2,3 ) )): ?>
8    カテゴリーIDが "1, 2, 3 "の記事を表示します。
9<?php elseif(!in_category( array( 4,5,6 ) )): ?>
10    カテゴリーIDが" 4, 5, 6 "意外の記事を表示します。
11<?php endif; ?>
in_categoryとis_categoryの違い

is_post_type_archive()

現在表示されているページが「ポストタイプ(post)」のアーカイブかどうかを判定します。
1<?php is_post_type_archive( 'posttype' )): ?>
2    テキストテキストテキストテキスト
3<?php endif; ?>

is_tax()

タクソノミーのアーカイブページが表示されている場合で、パラメータ指定すればもっと限定させることができます。
1<?php if(is_tax("タクソノミー名")): ?>
2    テキストテキストテキストテキスト
3<?php endif; ?>

複数ページの場合は
1<?php if(is_page('5') || is_page('25')) : ?>
2    このページはID5かID25のぺーじだよ
3<?php endif; ?>
投稿ページ各ページの場合は
1<?php if(is_single()) : ?>
2    ここに投稿ページで表示させたいものを色々と書く
3<?php else: ?>
4    ここにそれ以外のページの場合の文章を書く(何も表示させない場合は何も書かなくていいよ)
5<?php endif; ?>
カスタム投稿単位のページの場合は
1<?php if(is_singular("カスタム投稿名")) : ?>
2    ここに投稿ページで表示させたいものを色々と書く
3<?php else: ?>
4    ここにそれ以外のページの場合の文章を書く(何も表示させない場合は何も書かなくていいよ)
5<?php endif; ?>
アーカイブページの場合は
1<?php if(is_archive()) : ?>
2    ここにアーカイブページで表示させたいものを色々と書く
3<?php else: ?>
4    ここにそれ以外のページの場合の文章を書く(何も表示させない場合は何も書かなくていいよ)
5<?php endif; ?>
アイキャッチ画像があるかないかを判断する場合は
1<?php if (has_post_thumbnail()): ?>
2    <?php the_post_thumbnail(); ?>
3<?php else: ?>
4    アイキャッチがない場合の処理をここにかく。(なにも表示させない場合はなにも書かなくていいよ)
5<?php endif; ?>


参考サイト:bridge
参考サイト:Nx World