WP插件中的JQuery / PHP

时间:2014-04-18 16:07:37

标签: javascript php jquery wordpress

我试图在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');


?>

这个警报就是没有发生......

我做错了什么?

1 个答案:

答案 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文件。