Wordpress

Cách Tạo Nonce Trong WordPress Sử Dụng AJAX: Hướng Dẫn Chi Tiết và Dễ Hiểu

Để sử dụng AJAX để tạo nonce trong WordPress, bạn cần thực hiện các bước sau:

Bước 1: Đăng ký hàng đợi file AJAX

Trước tiên, bạn cần đăng ký và xếp hàng file AJAX trong file functions.php của theme WordPress của bạn. Đoạn mã sau sẽ làm điều đó:

function enqueue_ajax_nonce_script() {
    wp_enqueue_script( 'ajax-nonce-script', get_template_directory_uri() . '/js/ajax-nonce.js', array('jquery'), '1.0', true );
    wp_localize_script( 'ajax-nonce-script', 'ajax_object', array( 'ajax_url' => admin_url( 'admin-ajax.php' ) ) );
}
add_action( 'wp_enqueue_scripts', 'enqueue_ajax_nonce_script' );

Bước 2: Tạo file AJAX

Tiếp theo, code AJAX trong file ajax-nonce.js. Đoạn code sau sẽ gửi yêu cầu AJAX đến WordPress để tạo nonce:

jQuery(document).ready(function($) {
    $.post(ajax_object.ajax_url, { action: "create_nonce" }, function(response) {
        $("#nonce_field").val(response);
    });
});

Bước 3: Xử lý yêu cầu AJAX trong WordPress

Cuối cùng, bạn cần thêm một hàm trong file functions.php để xử lý yêu cầu AJAX và tạo nonce:

function ajax_create_nonce() {
    echo wp_create_nonce( 'my_form_nonce' );
    wp_die();
}
add_action( 'wp_ajax_create_nonce', 'ajax_create_nonce' );
add_action( 'wp_ajax_nopriv_create_nonce', 'ajax_create_nonce' );

Với cách này, mỗi khi form của bạn được tải, một yêu cầu AJAX sẽ được gửi đến WordPress để tạo nonce mới. Nonce này sau đó sẽ được đặt vào trường nonce của form, đảm bảo rằng nó luôn mới và hợp lệ, ngay cả khi trang được lưu vào cache.

Lưu ý: Đảm bảo rằng bạn đã thay thế #nonce_field trong tập lệnh AJAX với ID thực tế của trường nonce trong form của bạn.

Bài viết liên quan

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Back to top button
Close