Как поставить в очередь загрузочный скрипт и стиль для шаблона страницы WordPress, но не для всего сайта - PullRequest
0 голосов
/ 14 октября 2018

Я новичок в WordPress и создаю шаблон страницы для своего сайта.Я хочу сохранить свою основную тему WordPress для большей части сайта, но у меня есть очень специфическое приложение, для которого я хочу использовать Bootstrap всего на нескольких страницах.Чтобы не потерять свою пользовательскую работу при обновлении темы, я создал дочернюю тему с шаблоном страницы, а затем выбрал этот шаблон из WordPress для соответствующей страницы.

Наконец-то я пришел к этому сценарию для своей functions.php (на основе примера здесь ):

<?php
function enqueue_child_theme_styles() {
//deregister the parent bootstrap style and script  
wp_deregister_style( 'bootstrap' );
wp_deregister_script( 'bootstrap' );

//enqueue my child theme stylesheet
wp_enqueue_style( 'child-style', get_stylesheet_uri(), array('theme') );

//enqueue bootstrap in the child theme 
wp_enqueue_script('bootstrap-js', get_stylesheet_directory_uri().'/bootstrap/js/bootstrap.min.js', array('jquery'), NULL, true);
wp_enqueue_style('bootstrap-css', get_stylesheet_directory_uri().'/bootstrap/css/bootstrap.min.css', false, NULL, 'all');

}

add_action( 'wp_enqueue_scripts', 'enqueue_child_theme_styles', PHP_INT_MAX);

Это отлично сработало для моего шаблона страницы, теперь оно отвечает на классы Bootstrap ... к сожалению, как и все остальное на моем сайте.Как сделать так, чтобы это применялось только в том случае, если Wordpress пытается загрузить шаблон моей страницы, но игнорировать его во всех других случаях?

1 Ответ

0 голосов
/ 14 октября 2018

Использование is_page_template

if (is_page_template($templatename))
{
wp_enqueue_script('bootstrap-js', get_stylesheet_directory_uri().'/bootstrap/js/bootstrap.min.js', array('jquery'), NULL, true);

...etc

}

Приведенная ссылка содержит точный пример, который вы ищете.

...