我在前端写了一个ajax调用。 我的functions.php写的服务器端Wordpress Ajax不调用函数function.php
function updateCont(){
global $wpdb;
$post_id = $_POST['post_id'];
$key = $_POST['key'];
$value = $_POST['value'];
update_post_meta($post_id, $key, $value);
echo $value;
die();
}
add_action('wp_ajax_updateCont', 'updateCont');
add_action('wp_ajax_nopriv_updateCont', 'updateCont');
我jQuery是如下
jQuery.ajax({
type:"POST",
url: "<?php echo admin_url('admin-ajax.php'); ?>",
data: {"post_id":<?php echo get_the_ID();?>, "key":"top_left_content", "value":"new content"},
success:function(data){
console.log(data);// is 0
}
});
然而,从Ajax调用返回的数据始终为“0” 当我搜索了它,人们说我的功能没有加载到wordpress中。我不明白在这里做什么。
您缺少ajax数据中的“action”:“updateCont”。 action指定了你所针对的WP ajax动作。我假设你有一个PHP可用的上下文中的JQuery代码。即在一个PHP文件中,否则php函数将无法工作。 – Mark
ajax代码在一个php文件中。我写在page.php文件中。 Jquery部分执行得很好。但答复始终为0 – prasadmsvs
您是否尝试添加操作? – Mark