[英]Best way to add a WordPress plugin's options to a non-admin user's menu
[英]How do I add Javascript to every non-admin page in Wordpress?
我有一个插件,以前只需要在内容页面上加载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)生成。 任何帮助,将不胜感激。 谢谢。
使用add_action
将脚本添加到特定的挂钩。 通常, wp_head
用于将脚本添加到head部分,而wp_footer
用于将脚本添加到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
更多详细信息
进一步@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' );
?>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.