我在前端寫了一個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