交換したいのですが。
if(is_home())
{
wp_enqueue_script( 'homestuff', get_theme_part( THEME_JS . '/home.js' ), array( 'jquery' ), null, true );
wp_enqueue_script( 'jquerycolor', get_theme_part( THEME_JS . '/jquery.color.js' ), array( 'jquery' ), null, true );
};
代わりにfunctions.phpファイルに入れて、header.phpに入っています。広大なクライアントのサイトですべてを整理しようとしています。私はWPフレームワークを使用していて、理想的にはメインのparent_themeクラスのenqueue_assets関数内にこれを固定します。これは本当にwpフレームワークの問題ではありませんが、私は知りたいのですが。
関数ファイルからis_home()を動作させるにはどうすればいいですか?グローバルを使用して、私が知る必要がある代替手段はありますか?
まず、サイトのフロントページをターゲットにしたい場合、is_front_page()
を使用する必要があります。 is_home()
条件は、ブログ投稿インデックスが表示されるときにtrueを返します。これは、サイトのフロントページ。
次に、関数を適切なフックにフックする必要があります。この場合、このフックはwp_enqueue_scripts
です。
(また:get_theme_part()
とは?WP Frameworkのカスタム関数ですか?)
たとえば、functions.php
でこれを実行できます。
function mytheme_enqueue_front_page_scripts() {
if( is_front_page() )
{
wp_enqueue_script( 'homestuff', get_theme_part( THEME_JS . '/home.js' ), array( 'jquery' ), null, true );
wp_enqueue_script( 'jquerycolor', get_theme_part( THEME_JS . '/jquery.color.js' ), array( 'jquery' ), null, true );
}
}
add_action( 'wp_enqueue_scripts', 'mytheme_enqueue_front_page_scripts' );