admin-ajax.phpเป็นส่วนหนึ่งของ WordPress AJAX APIและใช่มันจัดการคำขอจากแบ็กเอนด์และด้านหน้า นี่คือสิ่งที่ฉันคิดออกสำหรับคำถามของคุณ:
  2) admin-ajax.php ทำงานอย่างไร
สำหรับตรรกะที่คุณสามารถเยี่ยมชมได้ที่นี่
สิ่งนี้จะถือว่าคุณรู้วิธีการจัดคิว JavaScript และอื่น ๆ แล้ว
ชิ้นส่วน JavaScript:
jQuery(document).ready(function($) {
    // We'll pass this variable to the PHP function example_ajax_request
    var fruit = 'Banana';
    // This does the ajax request
    $.ajax({
        url: ajaxurl,
        data: {
            'action':'example_ajax_request',
            'fruit' : fruit
        },
        success:function(data) {
            // This outputs the result of the ajax request
            console.log(data);
        },
        error: function(errorThrown){
            console.log(errorThrown);
        }
    });   
});
PHP Piece:
function example_ajax_request() {
    // The $_REQUEST contains all the data sent via ajax 
    if ( isset($_REQUEST) ) {
        $fruit = $_REQUEST['fruit'];
        // Let's take the data that was sent and do something with it
        if ( $fruit == 'Banana' ) {
            $fruit = 'Apple';
        }
        // Now we'll return it to the javascript function
        // Anything outputted will be returned in the response
        echo $fruit;
        // If you're debugging, it might be useful to see what was sent in the $_REQUEST
        // print_r($_REQUEST);
    }
    // Always die in functions echoing ajax content
   die();
}
add_action( 'wp_ajax_example_ajax_request', 'example_ajax_request' );
// If you wanted to also use the function for non-logged in users (in a theme for example)
 add_action( 'wp_ajax_nopriv_example_ajax_request', 'example_ajax_request' );
  1) ทำไมต้องใช้ admin-ajax.php แทนที่จะเข้ารหัส json ของคุณในไฟล์แยกต่างหากเช่น themes / example / json.php และเข้ารหัสข้อมูลของคุณที่นั่น?
อาจเป็นประโยชน์ admin-ajax.php เทียบกับแม่แบบหน้ากำหนดเองสำหรับคำขอ Ajax
               
              
themes/example/json.phpควรพิจารณาว่าเป็นช่องโหว่ด้านความปลอดภัยที่สำคัญ