WordPress通过functions.php将JavaScript添加到一个页面



在我的WordPress网站的一个页面上,我使用了一个照片库。为此,我需要一个js文件。现在,js文件正在每个页面上加载,但它只需要一个页面id为2的特定页面。现在的问题是,is_page(2(在functions.php中不起作用,因为当时没有设置页面id。是否仍然可以通过functions.php执行此操作,或者只在footer.php中添加脚本?

function footer_scripts()
{
// If query if current Page is not wp-login-php or admin page
if ($GLOBALS['pagenow'] != 'wp-login.php' && !is_admin()) {
wp_register_script('photo-gallery', get_template_directory_uri() . '/js/back-layer-photo-gallery.js', array('jquery'), '1.3', true);
wp_enqueue_script('photo-gallery');

}
}  
add_action('init', 'footer_scripts');

您可以在function.php中添加此代码,并用页面和脚本的段塞名称填充它

// Load  conditional scripts
function your_conditional_scripts()
{
if (is_page('pagenamehere')) {
wp_register_script('scriptname', get_template_directory_uri() . 
'/js/scriptname.js', array('jquery'), '1.0.0'); // Conditional 
script(s)
wp_enqueue_script('scriptname'); // Enqueue it!
}
}
add_action('wp_print_scripts', 'your_conditional_scripts'); // Add 
Conditional Page Scripts

您可以使用page slug代替page ID,也可以使用'wp_enque_scripts'代替'init'。如果您使用子主题,请使用"get_stylesheet_directory_uri(("代替"get_template_directory_uri((",否则您可以保持原样。

add_action('wp_enqueue_scripts', 'enqueue_script');
function enqueue_script() {
if (is_page('page_slug_here')) { // Add slug in condition
wp_enqueue_script('photo-gallery', get_template_directory_uri().'/js/back-layer-photo-gallery.js', array( 'jquery' ), '1.0', true);
}
}

相关内容

最新更新