我的AJAX調用返回0.
這裏是jQuery。Wordpress AJAX調用一直返回0
$.ajax({
type: "POST",
url: ajaxurl,
data: {
action:"add_social_share_entry",
referral_code: "<?php echo Contest_Domination::get_referral_code("",""); ?>"
},
success: function(data){
alert(data);
}, error: function(error){
alert(error);
}
});
和PHP。
function add_social_share_entry(){
$referral_code = $_REQUEST["referral_code"];
if (class_exists('Contest_Domination')) {
if (!empty($referral_code)) {
$referral_submission = Contest_Domination::get_submission_by_referral_code($referral_code);
if($referral_submission!==false){
$referral_id = $referral_submission->submission_ID;
Contest_Domination::add_entries($referral_id, 1);
echo "Successfully added entry";
}
}else{
echo "Referral code not received";
}
}else{
echo "Class does not exist";
}
die();
}
add_action('wp_ajax_add_social_share_entry', 'add_social_share_entry');
add_action('wp_ajax_nopriv_add_social_share_entry', 'add_social_share_entry');
這些都在同一頁(模板頁)上,響應爲0.讓我知道你是否需要額外的信息或請求標題。這讓我暈眩。謝謝!
編輯:我意識到我可能已經有點曖昧。 JS和PHP都在PHP模板文件中,所以PHP位運行良好。我會顯示我的標題,以免錯誤來自那裏。
行動:add_social_share_entry
referral_code:552ec562300af
SOLUTION
正如盧卡斯下面指出的那樣,我需要移動WP AJAX掛鉤到我functions.php
文件在我的主題,因爲它不在我的插件中工作。
請看看我更新的帖子。你會看到這個問題不是PHP。它發送得很好,並從/wp-admin/admin-ajax.php獲得200 OK響應,所以我認爲它必須是關於模板文件無法訪問爲WP添加動作的問題,或者是模板文件和admin-ajax.php文件位於wp-admin文件夾中。 – Vap0r