我有一个插件,我以前只需要在内容页面上加载Javascript。换句话说,代码add_filter('the_content', 'insert_js');
就足够了。现在,我希望将Javascript插入到不是管理页面或搜索结果页面的每个页面,我想知道是否有快捷方式过滤器名称,或者我是否必须列出所有过滤器。我也只想将Javascript添加到页面一次。如果我必须添加一些add_filter()
行,那很好,但我仍然不确定他们需要什么。我查阅了插件API /过滤器参考文档(http://codex.wordpress.org/Plugin_API/Filter_Reference),这看起来很模糊。我也试过使用 the_category 等无济于事。我也想弄清楚如何在主页上加载Javascript。我所包含的Javascript不是静态的,需要根据运行时已知的某些WP特定属性(如URL)生成。任何帮助,将不胜感激。感谢。
答案 0 :(得分:3)
使用add_action
将脚本添加到特定的挂钩。通常wp_head
用于向head部分添加脚本,wp_footer
用于在页脚部分添加脚本。
请检查以下代码:
<?php
function add_this_script_footer(){ ?>
<script type="text/javascript">
[YOUR JS CODE HERE]
</script>
<?php }
add_action('wp_footer', 'add_this_script_footer'); ?>
或者您可以使用wp_enqueue_script()
添加外部脚本,如下所示:
<?php
function my_scripts_method() {
wp_enqueue_script(
'custom-script', // handle
get_template_directory_uri() . '/js/custom_script.js', // src
array( 'jquery' ) // dependencies
);
}
add_action( 'wp_enqueue_scripts', 'my_scripts_method' );
?>
您可以在http://codex.wordpress.org/Function_Reference/wp_enqueue_script
上找到有关wp_enqueue_scripts
的更多详细信息
答案 1 :(得分:3)
继续@ itskawsar的回答;您可以将wp_enqueue_script()
函数包装在条件中,以确保它们仅加载到非管理页面上:
<?php
function my_scripts_method() {
if (!is_admin()) {
wp_enqueue_script(
'custom-script', // handle
get_template_directory_uri() . '/js/custom_script.js', // src
array( 'jquery' ) // dependencies
);
}
}
add_action( 'wp_enqueue_scripts', 'my_scripts_method' );
?>