【问题标题】:wp_head not working in pluginwp_head 在插件中不起作用
【发布时间】:2016-05-05 17:37:42
【问题描述】:

我编写了一个简单的插件供我自己使用,我正在尝试将一些 javascript 插入到 head 标记中。

如果我使用

add_action( 'init', 'add_to_head' );

然后它可以工作,但它在任何 Jquery 之前加载,这是不好的。

如果我使用

add_action( 'wp_head', 'add_to_head' );

然后什么都没有发生! 这是我要调用的函数。

function add_to_head() {?> 
<script>alert("test");</script><?php
}

除非我使用 add_action 'init' 表示未定义 Jquery(显然),否则控制台中没有错误。

更新

如果我使用 add_action('get_footer', 'add_to_head');那么它的工作原理!但我不确定这是否适合使用。

【问题讨论】:

    标签: javascript php jquery wordpress


    【解决方案1】:

    使用wp_footer钩子,使用wp_footer钩子没有错。

    <?php
    function add_to_head() {?> 
        <script>alert("test");</script><?php
    }
    add_action( 'wp_footer', 'add_to_head' );
    ?>
    

    【讨论】:

    • 我应该提到我也试过这个钩子,这也不起作用
    【解决方案2】:

    尽量给优先级,这样你的代码就会在之前添加

    function mycustom_enqueue() {     
        echo "<script type='text/javascript'>alert('1');</script>";
    }
    add_action( 'wp_head', 'mycustom_enqueue',100 );
    //here 100 is prioriry
    

    【讨论】:

    • 这将使它稍后运行。如果你想让它在其他人之前运行,那么它应该是一个小于 10 的数字(这是默认值)。
    猜你喜欢
    • 2019-04-11
    • 1970-01-01
    • 1970-01-01
    • 2013-02-18
    • 1970-01-01
    • 1970-01-01
    • 2013-01-06
    • 2014-10-08
    • 2015-07-20
    相关资源
    最近更新 更多