WordPress插件wp_enque_脚本()

WordPress插件wp_enque_脚本(),wordpress,Wordpress,所以我正在开发我的第一个WordPress插件,我遇到了一些困难。。。 我正在做面向对象的… 在底部,当“加载插件”时,我创建了myClass的一个新实例。每次加载任何页面时,它都会生成一个javascript。这个脚本注册有效,因为每次加载页面时我都会得到一个console.log。然后,它在“发布帖子”上注册一个操作,当管理员发布(保存)一篇新帖子并调用我的发布帖子()方法时,会触发该操作。 发布帖子时调用该方法;我知道这一点,因为如果我取消注释它的前两行,sctipt将与我的var_dum

所以我正在开发我的第一个WordPress插件,我遇到了一些困难。。。 我正在做面向对象的…
在底部,当“加载插件”时,我创建了myClass的一个新实例。每次加载任何页面时,它都会生成一个javascript。这个脚本注册有效,因为每次加载页面时我都会得到一个console.log。然后,它在“发布帖子”上注册一个操作,当管理员发布(保存)一篇新帖子并调用我的发布帖子()方法时,会触发该操作。
发布帖子时调用该方法;我知道这一点,因为如果我取消注释它的前两行,sctipt将与我的var_dump一起消失。
我的问题是wp_enque_script()在这个方法中不起作用。由于某些原因,我的脚本没有被调用…
代码如下:

<?php
class myClass{  
    function __construct(){     
        // hooks & filters..
        add_action( 'publish_post', array($this, 'publish_post'));
        wp_enqueue_script( 
            'plugin', //$handle
             plugins_url('/js/plugin.js', __FILE__)//$src
        );
    }

    function publish_post(){
        //global $wp_query;
        //die(var_dump($wp_query));
        wp_enqueue_script( 
            'publish', //$handle
             plugins_url('/js/publish.js', __FILE__)//$src
        );
    }
}
/* Initialise outselves */
add_action( 'plugins_loaded', create_function( '', 'global $myObject; $myObject = new myClass;' ));
?>


有人知道为什么会这样吗?thanx也有同样的问题。你必须将它添加到一个钩子中,例如init(我尝试使用admin_head钩子,但没有成功,所以我选择了init,因为我在另一个插件中看到了它。它似乎对我来说很好)

在构造中添加:

add_action('init', array($this, 'loadMyScripts'));
在操作调用的函数中:

public function loadMyScripts()
{
wp_enqueue_script( 
            'publish', //$handle
             plugins_url('/js/publish.js', __FILE__)//$src
        );

}