在我的主题中,有一个用于某些类别文件的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/