wordpress为ajax添加插件

时间:2015-10-18 14:15:51

标签: ajax wordpress wordpress-plugin

我是新人。试图测试创建一个插件,将我的js和ajax组合成一个模块。我做了以下事情:

[不确定我是否需要在admin-ajax.php中添加任何内容。]

  1. 在wp-content / pluging / test-plugin
  2. 下创建了我的新插件
  3. 创建了2个文件:test.php和test.js
  4. test.php内容如下:

    / **      *插件名称:测试      * /

    add_action("wp_ajax_my_test", "my_test");
    
    add_action("wp_ajax_nopriv_my_test", "my_test");
    
    function my_test()
    {
    echo "in ajax";
    }
    add_action( 'init', 'test_script_enqueuer' );
    
    
    function test_script_enqueuer() {
    
        wp_register_script( "test", WP_PLUGIN_URL.'/my_plugin/test.js', array('jquery') );
        wp_localize_script( 'test', 'myAjax', array( 'ajaxurl' => admin_url( 'admin-ajax.php' )));
    
        wp_enqueue_script( 'jquery' );
        wp_enqueue_script( 'test');
    }
    
  5. test.js代码如下:

    $(document).ready(function()
            {    
    console.log('in js!');
    

    $('#testDiv')。on('click','#test',function() { 的console.log( '点击!');

    jQuery.ajax(                         {                             类型:'POST',                             url:myAjax.ajaxurl,                             数据:                             {
                                    行动:'my_test'                             },                             dataType:'json',                             cache:false,                             成功:功能(响应)                             {     警报(响应);                             },                             错误:函数(xhr,textStatus,errorThrown)                             {                                警报( '错误');                             }                         }); })

        });
    
  6. 请注意,我甚至看不到“in js!”我的控制台中的消息。

1 个答案:

答案 0 :(得分:0)

更改

add_action( 'init', 'test_script_enqueuer' );

add_action("wp_enqueue_scripts", "test_script_enqueuer");

但首先,尝试回复一下php文件中的内容。如果没有任何反应,您的文件就不会被呼叫。

然后试试告诉我。