Executing jQuery in a plugin

时间:2012-05-16 作者:drake035

我的插件主文件中有以下代码:

function my_function() {
?>
<script type="text/javascript"> 
    jQuery(function () {    
        alert(\'jQuery\');
    });
</script>
<?php
}
add_action("wp_footer", "my_function");
我的网站确实加载了jQuery并可运行(我页面上的许多功能都使用它,它们也可以运行)。但此警报()不起作用。为什么会这样?

2 个回复
SO网友:Stephen Harris

那个片段对我来说“很有用”。

脚本是否打印在页面底部?更具体地说,你的主题wp_footer. 所有主题都应该调用,但并非所有主题都调用wp_footer 这破坏了依赖它的插件。

对于记录-您不应将脚本直接打印到页面。WordPress有一个很好的API来处理JavaScript Enquence和依赖关系处理。See this codex page.

您还可以发现this question 也很有帮助。

SO网友:onetrickpony

因为您刚刚在那里定义了一个函数。您没有执行它,也没有将它附加到某个事件,以便在事件发生时执行。

您可能想要:

jQuery(document).ready(function($){
  alert(\'jQuery\');
});
现在,此函数将在加载文档后运行。

并尽量避免使用内联脚本。使用wp_enqueue_script 只要可能。

结束

相关推荐

Communicate between plugins

我已经创建了两个WordPress插件。如果两个插件都安装了,那么这两个插件之间就可以进行一些有益的合作。那么我的问题是:让他们合作的最佳方式是什么?如何检测某个插件是否已启用?如何传输信息?我想我可以用globals,但有更好的方法吗?