WordPressでの条件分岐の基本的な使い方。条件分岐と条件分岐タグを知っていればカテゴリ別にサイドバーを表示するのもお茶ノ子祭々

PR

WordPressでテーマを自作している方には結構馴染みがあると思いますが
条件分岐タグを使うとできることが広がります

 

できること その1

カテゴリ別に違った内容を表示する
例えば、広告などカテゴリ別に関連した広告を表示するようにすればクリック率もアップするかも

 

できること その2

テンプレートを振り分ける。
たとえばカテゴリ別にテンプレートそのものを変えたいという時がありますね
AのカテゴリではAのテンプレート、BというカテゴリにはBというテンプレート

 

できること アイディア数だけ

アイディア次第でいろいろな条件を付けて、いろいろなパターンを作り出すことが可能です

 

 

WordPressの条件分岐の使い方

1. 対象のみ表示する(実行する)

<?php if(is_single()): ?>
 
<!-- singleで表示する内容を書く -->
 
<?php endif; ?>

上のコードの、is_single()で投稿ページとう意味になります
投稿ページでのみ表示するものになります

 

2. 対象と対象外でそれぞれ表示する内容(実行する内容)

<?php if(is_single()): ?>
 
 <!-- singleで表示する内容を書く -->
 
<?php else : ?>
 
 <!-- singleで以外で表示する内容を書く -->
 
<?php endif; ?>

上のコードは表示するもの、それ以外ものという条件を表したものです
elseでそれ以外という意味になります。

 

3. 複数の対象と対象外

<?php if(is_single() && is_category()): ?>
 
<!-- singleとcategoryで表示する内容を書く -->
 
<?php else : ?>
 
<!-- singleとcategory以外の内容を書く -->
 
<?php endif; ?>

上のコードは、投稿ページとカテゴリページを対象ととしたものと、それ以外を分けて表示するものです
複数の条件を一つにまとめるには && でつなげます前後に半角スペースが必要です

1の様にelseを使わずに対象のみにする事も出来ます

 

4. 複数の対象ごとに違う内容を表示して、それ以外を表示する

<?php if(is_home()): ?>
 
<!-- homeだったら表示する内容 -->
 
<?php elseif(is_category()) : ?>
 
<!-- カテゴリページだったら表示する内容 -->
 
<?php else : ?>
 
<!-- それ以外だった時に表示する内容 -->
 
<?php endif; ?>

上のコードではhomeとcategoryとそれ以外で違った内容を表示するようになっています
もちろんhomeとcategoryのみでそれ以外は表示しない事もできます

elseifでさらに条件を追加することが出来ます。
この方法では順序が関係してくるので、条件分岐する順序を考えて書く必要があります

 

5. 対象以外を選ぶ否定的な方法

<?php if(!is_home()): ?>
 
<!-- homeでは無かったら表示する内容 -->
 
<?php endif; ?>

home以外に内容を表示したい、homeでは何も表示しないとうものです
他にsingleとcategory以外に表示したいなど、一つ一つ指定するには多すぎる場合などにはこの方法が使えます
対象の頭にビックリマーク!を付けてやると否定になります

 

6. 入れ子的に条件分岐の中に条件分岐を使う

<?php if(is_single()): ?>
 
 <?php if(in_category( '5' )): ?>
 
 <!-- singleであり、categoryのID5のカテゴリをページ内に含む場合に表示する内容 -->
 
 <?php else : ?>
 
 <!-- singleであり、categoryのID5のカテゴリをページ内に含まないそれ以外に表示する内容 -->
 
 <?php endif; ?><!-- 入れ子に対しての終了タグ -->
 
<?php endif; ?><!-- 親に対しての終了タグ -->

singleであり、なおかつID5のカテゴリを含んでいる場合に表示する内容と、そうではない時の内容に分けたものです
条件分岐の中にはさらに条件分岐を入れることも可能です。

 

基本的なこれらのパターンを組み合わせて使えばいろいろな条件で表示内容をコントロールする事が出来ます。

 

条件分岐タグ

is_homeis_singleはWordPressの条件分岐タグというものです、これ以外にも多くの条件分岐タグが存在します

すべての条件分岐タグはWordPress wikiに乗っています
http://wpdocs.sourceforge.jp/%E6%9D%A1%E4%BB%B6%E5%88%86%E5%B2%90%E3%82%BF%E3%82%B0

PR

COMMENT

コメントを残す

PR

9ineBBの管理人が運営するサイト

WDG WEB DESIGN GALLERY ウェブデザインギャラリー