トップページのみ固定ページのタイトルを非表示にする

WordPress個別サポート

WordPressで作成するWebサイトのトップページを固定ページにする場合は、作成した固定ページのタイトルを「トップページ」とすることも少なくありません。

この記事ではPHPによる解決策を紹介しますが、CSSによる解決策は以下のページをご覧ください。
トップページのみタイトルを非表示にしたい(CSS)
「トップページ」という固定ページを作成する
「トップページ」という固定ページを作成する

このサイトのトップページを表示すると、固定ページのタイトルが「トップページ」と表示されるので、あまり見た目が良くないかもしれません。

トップページに「トップページ」と表示される
トップページに「トップページ」と表示される

この部分をカスタマイズしたい場合、固定ページのコンテンツテンプレートを編集します。Twenty Twelveでは、content-page.phpです。

固定ページのタイトルは次の部分で出力されています。

<article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
    <header class="entry-header">
        <h1 class="entry-title"><?php the_title(); ?></h1>
    </header>

この部分をカスタマイズすれば、タイトルを柔軟に変更することができます。

トップページのタイトルを非表示にする

単純にトップページのタイトルを消したいだけなら、次のようにif … else … endifという構文で条件分岐を記述します。

<article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
    <header class="entry-header">
        <?php if(is_front_page()) : ?>
        <?php else : ?>
            <h1 class="entry-title"><?php the_title(); ?></h1>
        <?php endif ?>
    </header>

is_front_pageは、トップページ(フロントページ)かどうかを調べる関数です。これにより、フロントページではタイトルが表示されなくなります。

※「!is_front_page()」と記述して「フロントページ以外ではタイトルを表示する」という条件を作成しても問題ありませんが、フロントページとそれ以外で分岐できるように、このような記述にしています。

トップページのタイトルが消える
トップページのタイトル「トップページ」が消える

※トップページ以外ではタイトルが表示されます。

トップページではサイト名を表示する

固定ページのタイトルの代わりにサイト名を表示する場合は、ifの次の行でbloginfo("name")を呼び出します。

<article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
    <header class="entry-header">
        <?php if(is_front_page()) : ?>
            <h1 class="entry-title"><?php bloginfo("name"); ?></h1>
        <?php else : ?>
            <h1 class="entry-title"><?php the_title(); ?></h1>
        <?php endif ?>
    </header>

これにより、トップページではサイト名、それ以外は固定ページのタイトルが表示されます。

タイトルの代わりにサイト名を表示する
タイトルの代わりにサイト名を表示する

何度もサイト名が表示されるのがうるさく感じるかもしれませんが、カスタムヘッダー画像を使うときには、このカスタマイズが役立つでしょう。

カスタムヘッダー画像の下にサイト名を表示
カスタムヘッダー画像の下にサイト名を表示

「if」をマスターするだけでカスタマイズが楽しくなります

この記事で紹介したPHPの「if」という構文は余裕があればぜひマスターしていただきたい構文です。初歩的なカスタマイズから実践的なカスタマイズまで幅広く活用できる構文です。学習してみようと思った方は、この本などを参考にしてください。私が書いた本なので個別サポートに持ち込んでいただければPHPの基礎の基礎から詳しく説明します。

「PHPプログラミングの教科書」について詳しくはこちら