WordPress Enqueue только для главной страницы, functions.php, wp-framework
Я хочу заменить мой код:
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 );
};
Который сейчас находится в header.php, перенеся его в файл functions.php. Пытаюсь навести порядок на разросшемся сайте клиента. Я использую wp-framework и в идеале хотел бы поместить это внутри функции enqueue_assets в основном классе parent_theme. Хотя это не совсем проблема wp-framework, я просто хотел бы знать:
Как заставить is_home() работать из файла functions? Есть ли альтернатива с использованием глобальных переменных, о которой мне нужно знать?

Во-первых, если вам нужно настроить главную страницу сайта, используйте функцию 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' );

Чип, ты просто звезда. Спасибо. (Да, get_theme_part — это фишка wp-framework. Клянусь, новый релиз wp-framework просто потрясающий. Он офигенный)
