Ajax调用wordpress插件

时间:2016-10-05 09:46:01

标签: jquery wordpress

我是wordpress的新手,我正在尝试创建一个可以从ajax页面调用的简单调用。我知道如何用PHP执行此操作,但无法使用wordpress执行此操作。

<?php
/*
 Plugin Name: Jed Plugin
*/

function func_rate()
{

    $data = wp_remote_retrieve_body (wp_remote_get("https://www.google.com/finance/converter?a=1&from=USD&to=ZAR"));
  $pos = strpos($data,'class=bld>');
   echo substr($data,$pos+10,7);

}

 add_action( 'get_value', 'func_rate' );

我需要创建一个简单的ajax调用

$.ajax({
    url : "https://www.forexforecasts.co.za/wp-content/plugins/test/test.php",
    type : 'post',
    data : {
        action : 'get_value'
    },
    success : function( response ) {
        alert(response)
    }
});

1 个答案:

答案 0 :(得分:0)

编辑:像阿德内奥在评论中说的那样。 Wordpress已经构建了处理Ajax请求的方法,只需将您的操作更改为:

add_action( 'wp_ajax_get_value', 'func_rate' ); //for loged in users
add_action( 'wp_ajax_nopriv_get_value', 'func_rate' ); //for guests

在函数func_rate()的代码末尾添加wp_die();在ajax请求完成后阻止WP运行。

最后,将ajax请求中的url更改为ajaxurl。这个var应该由WP预定义。