我的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文件添加到模板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 );
}
}
谢谢你的指点。
最合适的回答,由SO网友:Ben HartLenn 整理而成
页面模板似乎是加载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;
}
}
}