在我的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);
}
}