トピックス

  1. HOME
  2. トピックス
  3. WordPress
  4. 基本のWordPress関数と今すぐ使えるページ毎の条件分岐

基本のWordPress関数と今すぐ使えるページ毎の条件分岐

WordPressの勉強をなにからしたらいいか迷っている方に初歩から役立つ情報をお届けします。オリジナルテーマを作成するのに必要な基本のWordPress関数や今すぐ使えるページ毎の条件分岐についてご紹介いたします。

WordPress関数

WordPressにはあらかじめ動的サイトの作成に便利な関数がたくさん定義(登録)されており、これらを使いこなすことがオリジナルテーマの作成に必要なスキルとなってきます。WordPress関数を覚えることはスキルアップに繋がり、できることの幅が広がるので覚えるのは大変ですが、ぜひ覚えて理解しましょう。

代表的なWordPress関数

記事にまつわる情報を出力・取得
the_post() ループ内に配置・必須。記事に関するさまざまな情報を取得してくれます。ループ内にこれがないと記事に紐づく情報が取得できません。
the_title() ループ内で利用。記事のタイトルを出力します。
the_content() ループ内で利用。記事の本文を出力します。
the_category() ループ内で利用。記事に紐づくカテゴリーのリスト(各カテゴリーアーカイブへのリンク付き)を出力します。
the_date() ループ内で利用。記事の投稿日付を出力します。同じ日付に複数ある場合は最初の記事とともに一度だけ出力される仕様になっています。
the_time() ループ内で利用。現在の投稿の公開時刻を出力します。
the_permalink() ループ内で利用。記事のパーマリンク(URL)を出力します。
the_tags() ループ内で利用。記事に紐づくタグのリスト(各タグアーカイブへのリンク付き)を出力します。
get_post_type() 現在の投稿または指定した投稿の投稿タイプを取得します。
single_post_title() 個別投稿ページのループ外で記事タイトルを出力または取得します。

その他のテンプレートタグを知りたい方はこちらをチェック


現在のページテンプレートを判定
is_front_page() 表示中のページがフロントページであるか否かを判別し、真偽を返します。
is_home() 表示中のページがブログ投稿インデックスページであるか否かを判別し、真偽を返します。
is_archive() 表示中のページがアーカイブページであるか否かを判別し、真偽を返します。
is_category() 現在表示しているページがカテゴリーアーカイブであるか否かを判別し、真偽を返します。
is_tag() 表示中のページがタグのアーカイブページであるか否かを判別し、真偽を返します。
is_tax() 表示中のページがカスタム分類アーカイブページであるか否かを判別し、真偽を返します。
is_single() 表示中のページが個別投稿ページであるか否かを判別し、真偽を返します。
is_page() 表示中のページが固定ページであるか否かを判別し、真偽を返します。
is_singular() 表示中のページが個別投稿・固定ページ・またはメディアページであるか否かを判別し、真偽を返します。
is_404() 表示中のページがHTTP 404: Not Foundであるか否かを判別し、真偽を返します。

条件分岐に関するタグを知りたい方はこちらをチェック

今すぐ使えるページ毎の条件分岐

if文を用いた条件分岐

先ほどご紹介したWordPress関数の現在のページテンプレートの判定にif文がよく用いられます。また、さまざまな条件に応じて、PHPの処理を変えたい場合に用いる構文です。ぜひ、書き方を覚えることをオススメします。

<?php
if(is_front_page()):
//フロントページの場合に行う処理を書く
elseif(is_home()):
//ブログ投稿インデックスページの場合に行う処理を書く
elseif(is_page()):
//固定ページの場合に行う処理を書く
elseif(is_single($post)):
//個別投稿ページの場合に行う処理を書く
//$postは投稿のID、タイトル、スラッグ,またはそれらの配列をいれます。
//defaultというスラッグを使用の場合はis_single('default')と記述する。
elseif(is_archive()):
//アーカイブページの場合に行う処理を書く
elseif (is_post_type_archive($post_types)):
//カスタム投稿タイプのアーカイブページの場合に行う処理を書く
//$post_typesはチェックしたい投稿タイプ、またはその配列をいれます。
//カスタム投稿タイプ(default)がある場合はis_post_type_archive('default')と記述する。
elseif (is_404()):
//404エラーが表示されている場合に処理を書く
else:
//どの条件式も満たしていない場合に処理を書く
endif;
?>

if文を用いた応用

ページタイトルはページによってタイトル名が変わると思います。この場合if文を用いて動的にすることが可能となります。

<?php
if(is_front_page()):
  $title = 'フロントページのタイトル名';
elseif (is_page()):
  $title = '固定ページのタイトル名';
elseif(is_archive()):
  $title = 'アーカイブページのタイトル名';
else:
  $title = 'タイトル名';
endif;
?>
<h1><?php echo $title; ?></h1>

echoで変数$titleを表示させます。フロントページの場合はフロントページのタイトル名が表示されます。固定ページの場合は固定ページのタイトル名が表示されます。アーカイブページの場合はアーカイブページのタイトル名が表示されます。それ以外はタイトル名が入ります。

まとめ

WordPressでオリジナルテーマを作成するには、WordPress関数の知識が必要ですが、ページ毎の条件分岐ができれば、さらにできることが広がります。WordPress関数を覚えることはたくさんありますが、WordPressの基礎や応用にも使えますのでこのブログをキッカケにWordPressの知識を増やしスキルアップしていただけたらと思います。

 

この記事をシェアする

おすすめ記事