ครั้งแรก:มาตรฐาน หากคุณวางแผนที่จะใช้ปลั๊กอินชุมชนโอกาสที่พวกเขาจะไม่สนใจเกี่ยวกับ/ajax.php
ไฟล์ของคุณในรูทเอกสาร ดังนั้นพวกเขาจะไม่ใช้มัน
หากคุณกำลังจะม้วนทุกอย่างด้วยตัวเองนี่ไม่ใช่ปัญหา
ที่สอง: จะเกิดอะไรขึ้นถ้าคอร์อัพเดต คุณจะตรวจสอบและเปลี่ยนไฟล์ ajax ของคุณหรือไม่
ที่สาม : แม้จะadmin-ajax.php
อยู่ในwp-admin
นั้นก็ไม่ได้โหลดสิ่งใด ๆ ของพื้นที่ผู้ดูแลระบบ (เช่นตารางรายการ ฯลฯ ) ไม่ตรวจสอบรับรองความถูกต้องหรือเปิดเผยสิ่งที่มีความอ่อนไหวต่อผู้ใช้ที่ไม่ได้ลงชื่อเข้าใช้ มันก็เหมือนกับไฟล์ Front-End ในคำอื่น ๆ ไม่มีอะไรต้องกังวล.
ที่สี่:ที่เกี่ยวข้องกับปัญหาแรกปลั๊กอินบางตัวจะตรวจสอบก่อนที่จะโหลดฟังก์ชั่นที่เกี่ยวข้องกับอาแจ็กซ์สุ่มสี่สุ่มห้า ตัวอย่างด้านล่าง ajax.php ที่คุณแก้ไขจะไม่ทำให้โหลด
<?php
if (is_admin() && defined('DOING_AJAX') && DOING_AJAX) {
// load ajax stuff
}
ในที่สุด:สิ่งที่คุณบ่นเกี่ยวกับการใช้การแปลเพื่อรับ Ajax URL เป็นสิ่งที่ดีที่จะทำ ทำไม? เนื่องจากไฟล์ JS ของคุณไม่ได้ตระหนักถึงสิ่งที่ฝั่งเซิร์ฟเวอร์ คุณกำลังจะ URL อย่างหนักที่จะทำลายถ้า / เมื่อเว็บไซต์ย้าย? ดูเหมือนจะเป็นทางเลือกที่ไม่ดี
หากคุณไม่ต้องการ จำกัด ทุกสคริปต์ที่ใช้ Ajax ให้ลองใช้งานง่ายwp_head
แต่เนิ่น ๆ และแยก URL ajax ของผู้ดูแลระบบออก การแก้ไขปัญหา (นี่เป็นวิธีที่ผู้ดูแลระบบทำได้โดยวิธี)
<?php
add_action('wp_head', 'wpse83650_lazy_ajax', 0, 0);
function wpse83650_lazy_ajax()
{
?>
<script type="text/javascript">
/* <![CDATA[ */
var ajax_url = "<?php echo esc_js(admin_url('admin-ajax.php')); ?>";
/* ]]> */
</script>
<?php
}