Прежде чем начать, я хочу признать, что есть несколько действительно хороших статей, нацеленных на то, как условно ставить сценарии в очередь на основе содержимого страницы / публикации.
- Разработка плагинов для WordPress - Как включить CSS и JavaScript условно и только при необходимости
- Как загрузить JavaScript как WordPress Master
Это здорово, но они намного более продвинуты, чем я хочу.
Мне кажется, что ответом является использование встроенной is_page()
функции ( кодекса ), но когда я пытаюсь ее использовать, сайт ломается или просто не работает.
Я думаю, что я просто выполняю условную логику в неправильном месте.
Вот что я пытался добавить в мои functions.php:
function wpse39130_register_more_stylesheets() {
wp_register_style( 'stylesheet_name', get_stylesheet_directory_uri() . '/stylesheet.css' );
}
add_action( 'init', 'wpse39130_register_more_stylesheets' );
function wpse39130_conditionally_enqueue_my_stylesheet() {
// only enqueue on product-services page slug
if ( is_page( 'products-services' ) ) {
wp_enqueue_style( 'stylesheet_name' );
}
}
add_action( 'wp_enqueue_scripts', 'wpse39130_conditionally_enqueue_my_stylesheet' );
Когда я удаляю условную часть, таблица стилей успешно ставится в очередь, поэтому я знаю, что это работает.