AJAX に jquery を使用する wordpress 用のプラグインを作成しています。
次のコードは機能しません。入力ボックスに入力すると、結果の div にコンテンツが表示されることを期待しています。
ajaxリクエストに使用するコードは次のとおりです。これは、テーマのヘッダー ファイルにあります。
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>
<script type="text/javascript" >
$(document).ready(function(){
//alert("sjsjs");
$("#se").keypress(function(e){
// e.preventDefault();
var search_val=$("#se").val();
$.ajax({
type:"POST",
url: "./wp-admin/admin-ajax.php",
data: {
action:'wpay_search',
search_string:search_val
},
success:function(data){
$('#results').append(response);
}
});
});
});
</script>
テンプレート ファイルの html コンテンツ
<form name="nn" action="" method="post"></br></br>
<input id ="se" type="text" name="test" width="20" />
<input type="submit" id="clicksubmit" value="Submit" />
</form>
<div id="results">val is:
</div>
これがプラグインファイルのコードです
function wpay_search() {
//global $wpdb; // this is how you get access to the database
$whatever = $_POST['search_val'];
$whatever += 10;
echo $whatever;
die(); // this is required to return a proper result
}
add_action('wp_ajax_wpay_search', 'wpay_search');
add_action('wp_ajax_nopriv_wpay_search', 'wpay_search');
WordPress プラグインの作成は初めてです。私がどこで間違いを犯したか、誰にも言えますか?