मैं कुछ ajax व्यवस्थापक-ajax.php के लिए कॉल और यह बहुत अच्छा काम करता है बनाने के लिए एक प्लगइन अनुकूलित है। मैं एक और साइट पर कोड की नकल की है और यह अब उपयोगकर्ताओं को, जो लॉग इन नहीं हैं के लिए काम करताWordpress व्यवस्थापक-ajax परिणाम अनुप्रेषित
फ़ायरबग से:।
POST http://<subdomain>.<server>/wp-admin/admin-ajax.php 302 Moved Temporarily 1.08s
GET http://<subdomain>.<server>/ 200 OK
संपादित: सवाल क्या एक विषय संभवतः रीडायरेक्ट करने के लिए कर सकता है है AJAX अनुरोध। प्लगइन में दो हुक हैं:
add_action('wp_ajax_em_ajax_getEvents', 'em_ajax_getEvents'); // ajax for logged in users
add_action('wp_ajax_nopriv_em_ajax_getEvents', 'em_ajax_getEvents'); // ajax for not logged in users
वे दोनों साइट्स पर ठीक काम करते हैं, लेकिन एक थीम किसी भी तरह से लॉग इन उपयोगकर्ताओं से अनुरोधों को पुनर्निर्देशित करती है। चूंकि ये क्रियाएं प्लगइन के लिए विशिष्ट हैं, इसलिए मुझे लगता है कि कहां से दिखना शुरू करना है।
समाधान: add_action('init'
समाधान के लिए Ronald Huereca को बिग धन्यवाद, कि 'वास्तव में है जहां हमलावर रीडायरेक्ट में hooking था, व्यवस्थापक क्षेत्र की रक्षा करने की कोशिश में। अब मैं सिर्फ एक सुरक्षित ठीक है कि यहाँ विषय के व्यवस्थापक क्षेत्र समझौता नहीं करता है खोजने की जरूरत है, लेकिन यह भी उन गुमनाम ajax अनुरोध करने के लिए अनुमति देने से अन्य प्लग-इन पंख काटना नहीं है।
// stop users accessing the admin
add_action('init', array($this, 'prevent_admin_access'), 0);
function prevent_admin_access() {
if (strpos(strtolower($_SERVER['REQUEST_URI']), '/wp-admin') !== false) {
$current_user = wp_get_current_user();
if(!user_can($current_user->ID, 'administrator') && (!user_can($current_user->ID, 'contributor'))){
wp_redirect(get_option('siteurl'));
}
}
}
सवाल समस्या के बारे में कुछ नहीं कहा। विस्तृत। – ThinkingMonkey
क्षमा करें, समस्या मुझे पता नहीं क्या ajax अनुरोध व्यवस्थापक-ajax को अनुप्रेषित सकता है सिर्फ इतना है कि है।php क्रियाएं स्वयं हैं, वे ठीक काम करते हैं, तो उस रीडायरेक्ट का कारण बनने के लिए कोई "रास्ते में कैसे जा सकता है"। – Sinetheta
कृपया अनदेखा करें (टिप्पणी हटाएं काम नहीं करता; ( –