为什么更改插件文件名称时出现jQuery引用错误/未定义?

时间:2016-02-11 作者:bestprogrammerintheworld

我有两个站点,我从第一个站点复制了一个插件,然后更改了插件,并更改了插件的名称directoy和类名。

类似发件人:

old_xplugin
在这个插件的根目录中,我有一个名为old_xplugin.php 和类名相等:class old_xplugin

new_xplugin (现在修改了旧的xplugin)在这个插件的根目录中,我现在有一个名为new_xplugin.php 和类名相等:class new_xplugin

在我更改文件夹名称之前,一切都正常。(我可以毫无问题地更改插件的名称和类名)。

但当我更改文件夹名称时,我得到jQuery引用eror:未定义。Why isn\'t jQuery loaded when change of the plugins folder?

这是插件文件的结构:

main plugin file (new\\u xplugin.php)。这些东西在复制插件后不会改变。

public function __construct() {                        
    //Iniate jquery and css
    add_action( \'wp_enqueue_scripts\', array($this, \'js_css\' ) );                             
}

public function js_css() {                       
    wp_enqueue_script(
        \'wtfjs\',
        plugins_url( \'/js/wtf.js\' , __FILE__) 
    );        
}

wtf.js

jQuery(function ($) {    //Wordpress says: jQuery reference error: undefined.
//code
});

2 个回复
SO网友:Mark Kaplun

不知道为什么文件夹名称的更改会产生影响,但您应该在队列中添加jquery作为依赖项

wp_enqueue_script(
        \'wtfjs\',
        plugins_url( \'/js/wtf.js\' , __FILE__),
        array(\'jquery\')
    );   

SO网友:bestprogrammerintheworld

感谢@Mark Kaplen发现了实际问题。jQuery在执行wp\\u enque\\u脚本之前未加载。所以我钩住了这个函数js_css() 进入初始化,如下所示:

add_action( \'init\', array( $this, \'js_css\' ) );
这就解决了问题!:-)

(很奇怪,这甚至在site1上也起作用)

相关推荐

JQuery php请求返回一个奇怪的结果

我有一个奇怪的小故障发生在我身上,我不知道我是如何产生它的,或者它是否是正常的。我正在开发自己的插件,当一个足球队/足球队被输入到一个框中时,它会检查它是否已经在数据库中。以下是我的代码行add_action( \'admin_footer\', \'fws_teamcheck_javascript\' ); function fws_teamcheck_javascript() { ?> <script type="text/javascript">