wpのfunction.phpでis_home()など条件分岐を使えない時の対処方法

web制作

備忘録の記事です。

※答えはすべてこちらの記事様にあります。
https://www20.atwiki.jp/kobapan/pages/112.html

要点は、function.phpは起動時に読込されるため、まだページが生成されておらず、is_home()などの条件分岐がfalseになってしまう。

そのため、解決法としては、条件分岐を関数内に入れて、フックで使用すればOK、とのこと。

js読込などをfunction.phpでやっている場合、この条件分岐ルールを知っていると、けっこう便利。

たとえば下記のソースコードでは、トップページ(フロントページ)に、javascript_top.jsを読込させて、その他ページでは、javascript.jsを読込させており、ページに応じて、不要な記述を読込させない処理が可能となる。



<?php

add_action( 'wp_enqueue_scripts', 'my_scripts' );

function my_scripts() {

  if (is_home() || is_front_page()){
    wp_enqueue_script( 'jquery' );
    wp_enqueue_script( 'javascript',get_template_directory_uri().'/js/javascript_top.js',array('jquery'));
  }else{
    wp_enqueue_script( 'jquery' );
    wp_enqueue_script( 'javascript',get_template_directory_uri().'/js/javascript.js',array('jquery'));
  }

}

?>

出し分けする際、かなり便利です。

最後に一言

is_***なしにwordpress作成できません。

この記事をSNSでシェアする?

wordpress

wpのfunction.phpでis_home()など条件分岐を使えない時の対処方法


  • 0
    このエントリーをはてなブックマークに追加
  • Pocket

PROFILE

yoshi

KIYOTATSU(キヨタツ)を運営しているウェブ制作者のYoshiです。得意な分野はディレクションとコーディングです。デザインはシンプルなものだけ可能です。他、色々と随時習得中です。