включить 'wp_enqueue_scripts' (CSS) в несколько шаблонов

5 из моих шаблонов требуют определенного Javascript. В настоящее время ниже работает отлично, чтобы загрузить Javascript в шаблон страницы A.

add_action('wp_enqueue_scripts','css-flags'); function css-flags(){ if ( is_page_template('page-template-a.php') ) { wp_enqueue_style('css-flags', get_template_directory_uri() . '/css/flags.min.css', array(), '1.0.0', false ); } } 

Я подумал, что могу просто сделать следующее, чтобы добавить тот же CSS-файл в Template B, C и D, просто добавив имя шаблона в переменную «IF».

  add_action('wp_enqueue_scripts','css-flags'); function css-flags(){ if ( is_page_template('page-template-a.php','page-template-b.php','page-template-b.php') ) { wp_enqueue_style('css-flags', get_template_directory_uri() . '/css/flags.min.css', array(), '1.0.0', false ); } } 

Спасибо за все направление.

Шаблон страницы кажется более неясным, чтобы основывать загрузку вашего CSS. Возможно, не используйте имя шаблона и вместо этого используйте имя страницы, поскольку это более очевидно для пользователей темы. Если вы заинтересованы, вы можете попробовать что-то большее:

 add_action('wp_enqueue_scripts', 'load_special_page_styles'); function load_special_page_styles() { global $post; if( is_page() ) { switch( $post->post_name ) { // post_name is actually the page slug case 'a-page': // if page slug is equal to 'a-page'... case 'b-page': case 'c-page': case 'd-page': case 'e-page': wp_enqueue_style( 'css-flags', get_stylesheet_directory_uri() . '/css/flags.min.css', array(), '1.0.0', 'all' ); // Note slight differences in use of wp_enqueue_style here wp_enqueue_script( 'js-flags', get_template_directory_uri() . '/js/flags.min.js', array('jquery'), '1.0.0', true ); // helpful param #2 loads jquery if not already loaded, and param #4 loads the flags.min.js script in the footer, after page content loads break; } } } 

is_page_template принимает единственный аргумент, который может быть строкой или массивом. Вам просто нужно передать свои значения как единый array() чтобы заставить его работать:

 if ( is_page_template( array('page-template-a.php','page-template-b.php','page-template-b.php') ) ){ // do stuff } 

В PHP, || является оператором OR, поэтому вы должны построить его таким образом, чтобы кормить is_page_template() одним шаблоном, чтобы ваше условное выражение выглядело следующим образом:

 if ( is_page_template('page-template-a.php') || is_page_template('page-template-b.php') || is_page_template('page-template-c.php') ) { // Code Here }