2

好的,这让我发疯:

我正在尝试构建一个简单的 Wordpress 插件,并且我正在尝试确保 js 与 php.ini 是分开的。我已经阅读了法典和各种教程,但要么他们都在做出假设,要么我只是个白痴,因为它不起作用......基本上,我最终希望使用 ajax 将一些行添加到自定义添加帖子时的表格,但首先我必须让这个 Hello World 在添加帖子页面上工作......

当然这很容易:

这是 myplug/js/myplugin.js 中的 javascript:

jQuery(document).ready(function(){
    alert("dothis");
});

这是在插件中工作的版本(但很糟糕):

function admin_load_js(){
    echo '<script type="text/javascript" src="http://www.mysite.com/wp-content/plugins/myplugin/js/myplugin.js"></script>';
}
add_action('admin_head', 'admin_load_js');

这稍微好一点,但不起作用(jQuery 未定义):

function admin_load_js(){
    echo '<script type="text/javascript" src="http://www.mysite.com/wp-content/plugins/myplugin/js/myplugin.js"></script>';
}
add_action('admin_enqueue_scripts', 'admin_load_js');

这是我认为应该这样做的方式,但根本不起作用只是什么都不做:

function admin_load_js(){
 wp_register_script( 'custom_js', plugins_url( '/js/myplugin.js', __FILE__ ) );
}
add_action('admin_enqueue_scripts', 'admin_load_js');

有人可以在这里给我一个线索吗?目前,即使谷歌也不是我的朋友。可能是晚了,不知道……

4

1 回答 1

8

尝试这个:

function admin_load_js(){
    wp_enqueue_script( 'custom_js', plugins_url( '/js/myplugin.js', __FILE__ ), array('jquery') );
}
add_action('admin_enqueue_scripts', 'admin_load_js');

wp_register_script 只是注册脚本。您仍然需要手动加载脚本。

或者您可以使用 wp_enqueue_script 同时完成所有操作。使用 wp_enqueue_script,您可以指定依赖项(在本例中为“jquery”),以便在您的脚本之前加载它们。

于 2013-10-06T20:35:54.107 回答