繁体   English   中英

如何将Javascript添加到Wordpress中的每个非管理页面?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM