コンテンツ
WordPressでトップページかどうかを判定
WordPressを使ってサイトを構築する際、
トップページのみに表示させたい内容や
逆に、
トップページ以外に表示させたい内容(トップページに表示させたくない内容)
ってあります。
こんな場合は、トップページかどうかを判定して処理を加えるだけになりますが、
そのコードを以下にまとめておきます。
トップページかどうかを判定するコード
トップページの場合にのみ処理を行う場合
<?php
if( is_front_page() or is_home() ){
//トップページの場合の処理
}
?>
トップページ以外の場合に処理を行う場合
<?php
if( !is_front_page() and !is_home() ){
//トップページ以外の場合の処理
}
?>
トップページとトップページ以外の場合に分けて処理を行う場合
<?php
if( is_front_page() or is_home() ){
//トップページの場合の処理
}else{
//トップページ以外の場合の処理
}
?>
簡単ですね!
フロントページ「is_front_page()」かどうか?
ホーム「is_home()」かどうか?
で、トップページかどうかの判定を行うだけです。
is_front_pageとis_homeの違い
is_front_page()もis_home()もほぼ同じ意味合いで使われていますが、本来は別の役割を持ちます。
is_front_page()は、フロントページ(トップページ)かどうかを判定
is_home()は、ブログ投稿インデックスページかどうかを判定
するために使用します。
通常は、
ほとんどのブログでは「設定 >> 表示設定 >> ホームページの表示」の「ホームページの表示」で「最新の投稿」を設定されていると思います。
この場合には、is_home()もis_front_page()も同じようにトップページで「true」を返します。
その為、上記のようなコードで判定が可能です。
トップページのテンプレートファイル
因みに、
フロントページでは「front-page.php」という名称で、
ブログ投稿インデックスページでは「home.php」か「index.php」という名称で
テンプレートファイルを作成し、「front-page.php」が優先的に表示されます。
もし、「home.php」「index.php」の2ファイルのみの場合には、「home.php」が優先されます。
フロントページ
サイトのトップページ、つまり、ホームページの設定を行います。
「設定 >> 表示設定 >> ホームページの表示」の画面から「ホームページの表示」でホームページを設定します。
もし「front-page.php」があれば、そちらが優先されますが。
無ければ、プルダウンで選択した固定ページがトップページとして表示されます。
フロントページかどうかの判定は以下のコードで行います。
<?php
if( is_front_page() ){
//トップページの場合の処理
}
?>
ブログ投稿インデックスページ
サイトのブログ投稿インデックスページの設定を行います。
「設定 >> 表示設定 >> ホームページの表示」の画面から「ホームページの表示」で投稿ページを設定します。
もし「home.php」や「index.php」があれば、そちらが優先されますが、
無ければ、プルダウンで選択した固定ページがトップページとして表示されます。
※「home.php」が優先されます。
ブログ投稿インデックスページかどうかの判定は以下のコードで行います。
<?php
if( is_home() ){
//トップページの場合の処理
}
?>
そもそもホームページとは?
最後に、「そもそもホームページとは何か?」という話です。
本来は、WEBサイトの一番最初の入り口、つまり、トップページを意味します。
で、WEBサイトとは、単にサイトと言っていますが、トップページも含めたWEBページのひとまとまりを指します。
と言っても、ホームページもWEBサイトも同じような意味合いで使ってしまっていますが。。。
本当はきちんと区別した方がいいのかもしれないですね。
まあ、皆さん(私もですが)、あいまいに使っているので、意識しすぎることでもないですが。
以下で詳しく説明されているので、興味があればそちらを参照してみて下さい。
[ ホームページとWEBサイト(ウェブサイト)の違いは? ]
この記事へのコメントはありません。