javascript - 如何将脚本排队以使用主题的 function.php 归档头?

标签 javascript wordpress themes

在我的主题中,有一个用于某些类别文件的category.php 模板。我修改了这个文件,但为了产生效果,我需要在category.php 文件的头部添加一些javascript。该文件中有表达式 get_header();

我打开主题的 header.php 并看到所有脚本文件似乎都是通过此函数初始化的:wp_head();

所以我想我必须修改主题的functions.php以将我的脚本排入存档模板的头部。

但是该怎么做呢?我如何过滤category.php?在我的研究过程中,我发现了这个函数:is_category() - 但它仅适用于模板文件。我可以通过将其添加到 header.php 的 wp_head(); 函数下方,将我的 javascript 文件添加到头部:

if(is_category()){    
    echo '<script type="text/javascript" src="'.get_bloginfo("wpurl").'/wp-content/themes/my_theme/js/jquery-2.1.1.min.js'.'"></script>';
    echo '<script type="text/javascript" src="'.get_bloginfo("wpurl").'/wp-content/themes/my_theme/js/my_script.js'.'"></script>';        
} 

这可行,但似乎不是优雅/正确的方法。我读过好几次,总是应该使用 enqueue_script 函数来添加脚本。那么什么是最佳实践以及如何做到呢?

最佳答案

你的想法是对的。您需要将脚本排入队列,但前提是您位于类别存档页面上。另外,WordPress includes jQuery by default ,所以没有理由包含您自己的。请记住,这意味着您需要遵守 noConflict mode wrappers .

function enqueue_my_so_scripts() {
    if ( is_category() ) {
        wp_enqueue_script( 'script-name', get_template_directory_uri() . '/js/my_script.js', array('jquery'));
    }
}
add_action( 'wp_enqueue_scripts', 'enqueue_my_so_scripts' );

关于javascript - 如何将脚本排队以使用主题的 function.php 归档头?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26738646/

相关文章:

jquery - jQuery Next/Prev平滑滚动和Wordpress?

jquery - 菜单项在有 child 时消失

安卓主题继承

php - Wordpress 自定义帖子类型类别

php - Wordpress get_template_directory_uri() 和 bloginfo ('template_directory' ) 使用 HTTPS 返回不同的结果

javascript - 用静态字符串替换数组中的最后一个元素

javascript - 基于悬停元素添加多种样式

javascript - 如何在 JS 正则表达式中使用用户输入作为量词?

css - Wordpress CSS - 悬停时菜单中的图像按钮消失的问题

javascript - 与其他 jquery 没有冲突导致问题