2016-10-05 22 views
0

私はwordpressを初めて使用していて、ajaxページから呼び出すことのできる簡単な呼び出しを作成しようとしています。私はPHPでこれを行う方法を知っていますが、wordpressでそれを行うことができません。Ajaxの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({ 
    url : "https://www.forexforecasts.co.za/wp-content/plugins/test/test.php", 
    type : 'post', 
    data : { 
     action : 'get_value' 
    }, 
    success : function(response) { 
     alert(response) 
    } 
}); 
+0

[** codex **](https://codex.wordpress.org/AJAX_in_Plugins)を読んでください。プラグインに対するajaxリクエストを行うときは、Wordpressには非常に具体的な要件とメソッドがあります。 – adeneo

答えて

0

EDITに簡単なAJAX呼び出しを作成する必要があります。adeneoのように彼のコメントで述べています。 Wordpressのは、ちょうどにあなたの行動を変え、Ajaxリクエストをhandelingための方法で構築しています)(wp_dieを追加)(

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であなたのコードの末尾に; ajax要求が行われた後にWPが実行されないようにします。

最後に、あなたのajaxリクエストのURLをajaxurlに変更します。この変数はWPによってあらかじめ定義されている必要があります。

+0

私はあなたが言っていることを見ていますが、実際のWPサイトからではなく、外部サイトから電話をかける必要があります。では、あらかじめ定義されたajax URLをどうすれば使用できますか – Jed

+0

私はこれをテストしませんでした。外部サイトから{destenation_domain} /wp_admin/admin-ajax.phpへのリクエストを実行しようとすることができます。ヘッダー( 'Access-Control-Allow-Origin:{source_domain}')を追加することを忘れないでください。宛先サイトに送信します。 –

関連する問題