我想通过ajax post方法检索具有特定ID的内容。
例如,如果单击具有特定帖子ID的链接标记,则该ID的内容将加载到post-data 部门。
我对wp-ajax非常陌生,有人能帮我做到这一点吗?
这是我的代码HTML a tag
<a id="<?php the_ID(); ?>" href="#">This is link</a>
<!-- the content -->
<div id="post-data"></div>
Jquery Ajax $("a").click(function (event) {
var post_ID = $(this).attr(\'id\');
$.ajax({
url: "/wp-admin/admin-ajax.php",
type: "POST",
action: "my_custom_data",
data: {post_link: post_ID},
success: function (response) {
console.log(response);
$(\'#post-data\').append(response);
}
});
event.stopImmediatePropagation();
event.preventDefault();
return false;
});
WP Action
add_action(\'wp_ajax_my_custom_data\', \'my_custom_data\');
add_action(\'wp_ajax_nopriv_my_custom_data\', \'my_custom_data\');
function my_custom_data(){
$post_link = data[\'post_link\'];
echo get_the_content($post_link);
die();
}
我认为我的代码有问题,我只得到了0的响应。
最合适的回答,由SO网友:Jim-miraidev 整理而成
我会把动作放在post数据中
$.ajax({
url: "/wp-admin/admin-ajax.php",
type:"POST",
data: {
action: "my_custom_data",
post_link: post_ID
},
success: function (response) {
console.log(response);
$(\'#post-data\').append(response);
}
});
return false;
.....
然后在PHP中使用$\\u POST[\'POST\\u link\']
function my_custom_data(){
$post_link = $_POST[\'post_link\'];
echo get_the_content($post_link);
die();
}