除了我的 WordPress 主题中的标准 page.php
之外,我还有一个名为 full-page.php
的附加页面模板。
我想在 full-page.php
中排队一个额外的脚本 ( script-4.js
),但我不想在默认模板中排队。目前,我已经使用下面的方法,使用 if
和 else
语句将它们排入队列 - 与我的样式表排入队列的方式相同。
我想知道是否有一种方法可以做到这一点而不需要将所有内容排队两次?例如,在 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' );
关于javascript - 在 Wordpress 中是否有更简单的方法为多个页面模板排队脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36829682/