【发布时间】:2013-09-03 09:27:52
【问题描述】:
我正在开发一个 Wordpress 插件,我必须使用 jquery。 在我的插件文件(称为“my_p.php”)中,我以这种方式注册我的 .js 文件(my_js.js):
add_action('admin_enqueue_scripts', 'my_script');
function my_script() {
wp_register_script( 'my_jquery', plugins_url( '/js/my_js.js', __FILE__ ), array( 'jquery' ), '1.0.0', false );
wp_enqueue_script( 'my_jquery' );
}
my_js.js 中的代码是:
jQuery(document).ready(function($){
jQuery(document.body).on('click','#button_my_p', function(e){
alert('hello!');
});
});
我的问题如下:
如果 'button_my_p' 是 *my_p.php* 文件中的一个元素(在我的情况下是一个按钮),它工作正常,当我单击按钮时我会看到警报。但是,如果 'button_my_p' 是另一个 .php 文件的元素(例如,我的插件文件夹中的 'other.php'),则 jquery 代码不起作用..我看不到警报..
我错过了什么???
我的插件结构是:
- js 文件夹,我将 my_js.js 放在其中。
- my_p.php 文件
- other.php 文件
感谢您的帮助!
【问题讨论】:
-
您是否在 firebug|console web|etc 中遇到了一些错误?
-
是的...我收到此错误:Unchaught ReferenceError: jQuery is not defined
-
现在我不再有那个错误(我添加了一个 'echo "";在 other.php 文件)...我没有收到错误...但它还没有工作..
-
您不应该在WordPress环境中硬编码脚本资源,您使用注册和入队
wp_register_script();和wp_enqueue_script();的方式是正确的。
标签: php jquery wordpress plugins