我试图在WP插件中运行这个JQuery ......
<?php
function process_post(){
wp_enqueue_script('namespaceformyscript', 'http://code.jquery.com/jquery-1.9.1.min.js', array('jquery'));
?>
<script type="text/javascript" >
jQuery(document).ready(function($) {
alert('hello');
});
</script>
<?php
}
add_action('init', 'process_post');
?>
这个警报就是没有发生......
我做错了什么?
答案 0 :(得分:1)
至于调用jQuery,这应该足够了:
wp_enqueue_script( '的jquery');
这确保即使多个插件将调用jquery(并且它们可能会) - 它也不会多次加载。
其次,你没有使用正确的钩子。来自关于init hook的文档:
Runs after WordPress has finished loading but before any headers are sent.
(http://codex.wordpress.org/Plugin_API/Action_Reference/init)
作为一个完整的解决方案,试试这个(未经测试,应该可以工作):
<?php load_scripts() { wp_enqueue_script('jquery'); wp_enqueue_script('yourcustomjavascript.js', WP_PLUGIN_URL.'/yourpluginfolder/yourcustomjavascript.js', array('jquery')); }
add_action('admin_enqueue_scripts','load_scripts');
通过调用这样的脚本,你已经加载了jQuery并确保它没有被多次加载(通过你的插件和其他一些等等)你还确保在你告诉WP之前在yourcustomjavascript.js之前加载了jQuery。这取决于jQuery。
http://codex.wordpress.org/Function_Reference/wp_enqueue_script
现在......您的jQuery代码将在html模板中工作,以及您可以创建的yourcustomjavascript.js文件。