リオラボ
icon

is_page_templateが効かない時の対処法。home.php/フロントページで動かない【自作テーマ】

現在WordPressで自作テーマ構築中ですが、is_page_templateが思うように機能しなかったため、メモとして残しておきます。

まず、状況としてはWordPress側の表示設定では「ホームページの表示 」を「最新の投稿」にしており、home.phpがフロントページになっています。(front-page.phpは存在しない)

やりたいことは、ページによってCSSファイルを分けており、それぞれのページを読み込んだ際にそれぞれのCSSを適用させたいといったこと。

他のページ、例えばaccess.phpは固定ページを作成し、テンプレートに「Template Name: access」を適用させており、is_page_template(‘access.php’)が機能します。

しかしフロントページであるhome.phpに同様の設定をしis_page_template(‘home.php’)の記述をしても機能しません。

フロントページに関しては上記の記述ではダメなようです。というわけでis_front_pageを使えば解決しました。

 

フロントページに関してはis_page_template(‘home.php’)ではなく、is_front_page()を使います。そのため、固定ページへの登録自体は不要です。

他にもいろいろあると思いますが、一つの解決法として残しておきます。