何时调用wp_enQueue_脚本操作为时已晚?

时间:2013-07-02 作者:livearoha

我正在创建一个插件,它总是将脚本排在页脚中。我还有一个函数,如果调用该函数,将使依赖于另一个脚本的其他脚本排队。这是我的插件的基本格式。。。

<?php
class MyPlugin {
    public function __construct() {
        add_action(\'wp_enqueue_scripts\', array($this, \'enqueue_scripts\'));
    }

    public function enqueue_scripts() {
        wp_enqueue_script(\'myscript\', plugins_url(\'js/myscript.js\', __FILE__), array(\'jquery\'), null, true);
    }

    public function api() {
        add_action(\'wp_enqueue_scripts\', array($this, \'api_scripts\'));
    }

    public function api_scripts() {
        wp_enqueue_script(\'api\', plugins_url(\'js/api.js\', __FILE__), array(\'myscript\'), null, true);
    }
}
$_GLOBALS[\'myplugin\'] = new MyPlugin();
在我的主题功能中。php文件我想知道什么时候我可以打电话让脚本排队。我已尝试附加到加载的plugins\\u,但未调用脚本。

<?php
function myfunction() {
    global $myplugin;
    $myplugin->api();
}
add_action(\'plugins_loaded\', \'myfunction\');

1 个回复
最合适的回答,由SO网友:s_ha_dum 整理而成

功能wp_enqueue_scripts-- 带“s”-用作callback to wp_head. 所有这些功能wp_enqueue_scriptsis fire the wp_enqueue_scripts action. 所以最后一次你可以使用这个动作wp_enqueue_scriptswp_enqueue_scripts 上的回调wp_head

就主题模板而言,这意味着您需要在get_header, 或者在一个钩子上运行,这个钩子在钩子序列中运行得足够早。

注意事项:

是的$GLOBAL$_GLOBALS-- 不一致,我知道plugins_loaded. 就是这个主题functions.php: global $myplugin; $myplugin->api();. 我不能说我知道为什么钩子版不起作用。我想这只是太早了,但必须做一些研究来锻炼力学。after_setup_theme 有效,也有效wp_loaded

结束

相关推荐

Custom Post Row Actions

我偶然发现this question 在写这个问题的时候。我有一个问题是关于这个问题的。我发现你用的是get_delete_post_link 筛选为我的操作创建一个新的url(或一个类似的函数——在任何情况下,我都会将该函数与布尔值一起使用)。唯一的问题是,I don\'t know how to capture the event now. 考虑到我在谷歌上找不到很多关于行后操作的例子,我将不胜感激-/public function _wp_filter_get_delete_post_link( $