WordPress

WordPress|フロントページとブログ投稿インデックスページの違い

コンテンツ

「フロントページ」と「ブログ投稿インデックスページ」

「フロントページ」というのは、WordPressのトップページのこと。
「ブログ投稿インデックスページ」というのは、最新の記事一覧が表示されるページのことです。

最初のころは多くの方が、

フロントページ = ブログ投稿インデックスページ??

みたいに誤解してしまいがちですが、必ずしもそういうわけではありません。トップページに最新の記事一覧(ブログ投稿インデックスページ)を表示させずに、固定ページを表示させる場合もありますからね。ここの辺りがよく分からないという方は下記もご参照ください。

ここまでで、記事のタイトルについてのお話は終わってしまいましたが、もしかして今、メインインデックスのテンプレート(index.php)を編集中で条件分岐タグの使用で迷われていませんか?だとしたら、ここから下の話がお役に立つかもしれません。

トップページに関する条件分岐タグについて

最初にコードの意味を再確認しておきましょう。

<?php is_front_page(); ?>
フロントページです。
<?php is_home(); ?>
ブログ投稿インデックスページです。

トップページの「最新の投稿」だけに表示したい場合の条件分岐

<?php if ( is_home() && is_front_page() ) : ?>

  トップページ(ブログ投稿インデックスページ)の場合に表示する内容

<?php endif; ?>

「&&」は「かつ」という意味です。

A && B = A かつ B

上記は、「トップページかつブログ投稿インデックスページである場合」なので、「設定」>「表示設定」のところで、「ホームページの表示」(トップページ)が「最新の投稿」(ブログ投稿インデックスページ)である場合のトップページがそれに該当します。

トップページ(固定ページ)だけに表示した場合の条件分岐

※注意:「page.php」がある場合は、このコードを「index.php」に貼り付けても無意味です。トップページの表示設定を「固定ページ」にした段階で、使われるテンプレートは「index.php」ではなく、「page.php」になるからです。

<?php if ( ! is_home() && is_front_page() ) : ?>

  トップページ(固定ページ)だけに表示する内容

<?php endif; ?>

上記の「!」は否定です。つまり、is_home()ではない、という意味になります。つまり、「ブログ投稿インデックスページ」ではなく、かつ、トップページの場合、要するにトップページが固定ページである場合のトップページの場合ということになります。

トップページ(最新の投稿 or 固定ページ)に表示したい場合の条件分岐

<?php if ( is_front_page() ) : ?>

  トップページに表示する内容

<?php endif; ?>

ブログ投稿インデックスページに表示したい場合の条件分岐

<?php if ( is_home() ) : ?>

  ブログ投稿インデックスページに表示する内容

<?php endif; ?>

この場合、ブログ投稿インデックスページであれば良いので、トップページだけではありません。「設定」>「表示設定」のところで、「ホームページの表示」(トップページ)が「固定ページ」を選択した場合の「投稿ページ」というページも該当します。

以上がフロントページとブログ投稿インデックスページの分岐条件のお話でした。

最近の記事

  1. CSS

    レスポンシブウェブデザインの基本|メディアクリエリの設定
  2. CSS

    擬似クラス「:first-child」「:last-child」はどうして効かな…
  3. WordPress

    WordPressの立ち上げからサイト構築までの初期手順
  4. CSS

    CSS|中央寄せが効かないときは・・・
  5. CSS

    要素の配置が簡単に決まるFlexboxの使い方
PAGE TOP