有没有更简单的方法在 Wordpress 中为多个页面模板排队脚本


Is there a simpler way of enqueuing scripts for multiple page templates in Wordpress?

除了我的Wordpress主题中的标准page.php之外,我还有一个名为full-page.php的附加页面模板。我想将我不想在默认模板中排队的其他脚本 ( script-4.js full-page.php排队。目前,我已经使用以下方法将它们排队,使用ifelse语句 - 与我的样式表排队的方式相同。

我想知道是否有办法在不将所有内容排队两次的情况下做到这一点?例如,在 full-page.php 中,我是否可以只排队script-4.js,同时让它自动从默认模板中获取脚本 1、2 和 3?

function enqueue_my_styles_and_scripts() {  
if (is_page_template('page-templates/full-page.php')) { 
    wp_enqueue_script(
    'mytheme-script-1',
    get_template_directory_uri() . '/js/script-1.js' ); 
    wp_enqueue_script(
    'mytheme-script-2',
    get_template_directory_uri() . '/js/script-2.js' );
    wp_enqueue_script(
    'mytheme-script-3',
    get_template_directory_uri() . '/js/script-3.js' );
    wp_enqueue_script(
    'mytheme-script-4',
    get_template_directory_uri() . '/js/script-4.js' );
}
else {
    wp_enqueue_script(
    'mytheme-script-1',
    get_template_directory_uri() . '/js/script-1.js' );

    wp_enqueue_script(
    'mytheme-script-2',
    get_template_directory_uri() . '/js/script-2.js' );

    wp_enqueue_script(
    'mytheme-script-3',
    get_template_directory_uri() . '/js/script-3.js' );
}   
add_action( 'wp_enqueue_scripts', 'enqueue_my_styles_and_scripts' );

你的意思是这样的:

function enqueue_my_styles_and_scripts() {  
wp_enqueue_script(
    'mytheme-script-1',
    get_template_directory_uri() . '/js/script-1.js' ); 
wp_enqueue_script(
    'mytheme-script-2',
    get_template_directory_uri() . '/js/script-2.js' );
wp_enqueue_script(
    'mytheme-script-3',
    get_template_directory_uri() . '/js/script-3.js' );
if (is_page_template('page-templates/full-page.php')) {
    wp_enqueue_script(
        'mytheme-script-4',
        get_template_directory_uri() . '/js/script-4.js' );
}
add_action( 'wp_enqueue_scripts', 'enqueue_my_styles_and_scripts' );