プログラミング

プログラミング

【サイトカスタマイズのテクニック】WordPressテーマに「条件論理」を追加する方法を5つの例で解説!

846 views

読了時間 : 約4分23秒

WordPressでサイトを構築することで、デザインと機能の両面でできることの選択肢の幅は大きく広がります。

テーマの開発を深めていくと、なんらかの特定のタイプのページ、カテゴリ、または投稿に照準を絞って、そのタイプにあった特別なものを作る必要が出てくることがありますよね。

 

※WordPressでのテーマ開発については次の記事を参照してください。

 

そんなとき、条件論理(conditional logic)を利用することで、仕事をはるかに簡単にすすめることができることをご存知でしょうか。

条件論理とは、プログラミング言語(今回はPHP)の強力な機能で、コードを使用して特定の条件が存在するかどうかをチェックし、その条件が満たされていれば特定のことを行うようにするというものです。

 

これの簡単な例としては、ユーザーが現在サイトのホームページにいるかどうかを確認するというようなものがあげられます。条件付きロジックを使用することで、当該の状況でロードするコンテンツ(スライダー、その他の特別なコンテンツ)を選ぶということも出来ます。

 

WordPressには、あらゆる種類のシナリオをテストできるように、ソフトウェアに組み込まれた便利な条件タグ(conditional tag)が数多くあります。それらは使い勝手よく文書化されており、サイトに高度な機能をもたらしてくれます。

 

本記事では、比較的一般的に使用される条件付きタグをいくつか紹介し、サイトにそれらを実装する方法について解説します。

 

 

条件タグの使用上の注意

条件タグはPHPコードの一部であり、きちんとアップデートされているアクティブなテーマに入っている必要があります※。テーマ内で条件論理を使用できる場所はたくさんありますが、テーマのアクティベーションをまだ行っていない場合は、テーマファイルの仕組みを理解するために、WordPressのテンプレート階層を理解することをお勧めします。

 

※テーマについては以下を参照してください。

 

さらに、きちんと手入れされてアクティブな状態のサイトに新しいコードを実装する前にも、開発環境をセットアップして最初にテストするのが最善です。 たった一つのPHPの誤動作で、サイトに恐ろしい「死の白いスクリーン」が与えられることを忘れないでください。

 

 

1.is_home()

 

開発者の間で大きな混乱を招いているタグです。タグの見た目から、サイトのホームページをチェックするために使用されると思われがちですが、そうではありません。

実際には、投稿ページとして割り当てられたページが検索されます。投稿ページは、[設定]> [ワードプレスダッシュボード内で読む]で設定されます。デフォルトでは、WordPressはホーム・ページを使用して投稿を一覧表示しますが、ほとんどのサイトでは代わりに静的なホーム・ページを使用する傾向があります。
したがって、たとえば、「Blog」という名前のページを投稿ページとして割り当てた場合、このページをis_home()が探すことになります。

 

 

2.is_front_page()

 

逆に、is_front_page()は、静的であるかどうかにかかわらず、サイトのホームとして設定されているページを探します。 テーマ作成を学んでいるときには当たり前に思えないかもしれませんが、どのタグを使用するかが重要です。

このタグの優れている点は、ホーム・ページとして後で異なったページを割り当てるつもりでいても、正しい場所に照準を合わせたままでいられるというところです。 ページをターゲットにするより明示的な方法はありますが、これは、変更があった場合にもそれをきちんとカバーしてくれます。

 

 

3.is_single() and is_page()

 

これらのタグはそれぞれ、2つの機能を実行します。

is_single()は、現在のURLが投稿であるかどうかを調べます。 標準的なブログ投稿、添付ファイルかもしれませんし、またはカスタム投稿のタイプに属している可能性もあります。

同様に、現在のURLがページの場合、is_page()はtrueを返します。 デフォルトでは、両方のタグは、ページや投稿の傘下にあるコンテンツをターゲットにします。 これは多くの条件タグの共通スレッドです。

しかし、IDやスラッグを追加すれば、これらのタグを利用して特定の投稿やページをターゲットにすることもできます。

配列を使用すると、複数のコンテンツをターゲットにすることができます。

 

4.is_tax() and has_term()

 

タクソノミーは、コンテンツがサイト上で整理される仕方に対して大きな役割を果たします。

最も一般的なのはカテゴリとタグです。カテゴリとタグは独自の条件タグを持ちます。 しかし、WordPressでは独自のタクソノミーを作成できます。

たとえば、サイトに音楽レビューが含まれていて、「ジャンル」というタクソノミーがあるとします。 そこから、「Rock」、「Hip-Hop」、「Jazz」など、そのタクソノミー内の特定のジャンルの音楽をリストすることができます。

is_tax()はタクソノミーのアーカイブページを対象としています。 音楽レビューの例では、このタグは、特定のジャンルごとにアーカイブページを開いているときに起動します(有効になります)。

has_term()は、属しているタクソノミーに基づいて現在の投稿をターゲットにするために使用されます。 これは、たとえば、サイトの各ジャンルの音楽に投稿用の特別なグラフィックを追加したい場合に便利です。

 

 

5.is_page_template()

 

テーマのテンプレート階層に精通したら、独自のカスタムページテンプレートを作成することができます。

is_page_template()では、現在のページテンプレートをターゲットにすることができます(カスタムかどうかは関係ありません)。

ページテンプレートがそもそも使用されているかをチェックしたり、特定のものを探したりすることができます。

しかし、特定のページテンプレートを探すときは注意が必要です。 このタグはファイル名の存在をチェックするので、そのテンプレートの名前を変更すると条件が機能しなくなる可能性があります。 ファイル名の変更を反映するようにコードを更新する必要があります。

 

 

All Conditions Met

 

条件論理の使用方法を簡単に紹介しただけですが、より多くのことを学ぶ意欲を惹き起こすことができれば幸いです。

条件論理を習得すれば、そうでなければ不可能に近い方法でサイトをカスタマイズすることができます。 それらによって、テーマの見た目とレイアウトをきめ細かくコントロールしながら、CMSの利点をよりよく得ることができます。

 

 

※本記事は、How to Add Conditional Logic to Your WordPress Themeを翻訳・再構成したものです。

 

 

【コンビニでも使える!メルペイ初回利用1500円分招待コード】

当サイト限定招待コード:CMUTDF

 
・利用可能店舗:メルカリ、コンビニ、ドラッグストア等
・金額:500円分
※さらにメルペイスマート払で1000円分ポイント!
 友達招待でさらに500円分ポイント!

メルカリ-フリマアプリ&スマホ決済メルペイ

メルカリ-フリマアプリ&スマホ決済メルペイ

無料

 

ピックアップ! さらに今このキャンペーン中です↓

dポイント最大10%『4・5・6月の金・土曜限定!』
■キャンペーン期間:2020/4/1日(水)0:00 ~ 6/30(火)23:59

 

 

【MOV初回限定 合計2,000円相当無料クーポン3枚】

クーポンコード:seleqt2000

 
対応地域:神奈川県、東京都、大阪府、京都府、兵庫県(新登場)
 
2000円オフで登録» »MOVの初回利用2000円オフのクーポンを使って登録はこちら!
 
アプリDLはこちらから↓

MOV《モブ》- タクシー配車

MOV《モブ》- タクシー配車

DeNA Co., Ltd.無料

 

 

 

Seleqtをご覧頂いた方だけに「朗報」
\当サイト限定特別クーポン/

【UberEats初回1000円オフクーポン】
interjpq2206j2tw

 

対象店舗:マック、ガスト、スタバ、ピザハット、松屋 等
※1000円分無料で頼めます。〇〇円以上とかもナシ!完全無料でお試しOK
割引額:1000円引き

 

1000円オフで登録» »当サイト限定の初回利用1000円オフのクーポンを使って登録はこちら!

 

アプリDLはこちらから↓

Uber Eats: 地元で人気の料理をお届け

Uber Eats: 地元で人気の料理をお届け

無料

 

おすすめ新着記事

おすすめタグ