Как в WordPress правильно реализовать AJAX-запрос для обновления пользовательских метаданных (например, настроек уведомлений), чтобы обеспечить безопасность и независимость от конкретных плагинов?
Реализовать AJAX-запрос
- Копировать ссылку
- Поделиться в Telegram
- Поделиться ВКонтакте
- Поделиться в Одноклассниках
- Поделиться в WhatsApp
- Поделиться в X (Twitter)
Актуальность Raid 10
1
5 2
Как защитить аккаунт
1
4 к 2
Как почистить кэш
1
4 к 1
Что означает ошибка ...
1
4 к 1
Реализовать AJAX-зап...
1
4 1
ИИ угрожает Википеди...
0
3 0
Актуальность Raid 10
1
5 2
Собака гуляка
0
2 0
Как не потерять чело...
0
2 0
Бывшая
0
2 0
Выплеснуть свои эмоц...
0
5 0
Шпаргалка по SSH
0
3 0
Вечные ссылки беспла...
2
6 к 4
Android 15
0
4 к 2
Как защитить аккаунт
1
4 к 2
Актуальность Raid 10
1
5 2
Необъяснимое и числа
0
1 к 1
Предоставляю услуги
1
4 к 1
Настройки Google Chr...
0
2 к 1
Что означает ошибка ...
1
4 к 1
Денис Воронин
Для корректной реализации необходимо выполнить следующие шаги:
Локализация скрипта: В файле темы или плагина используйте wp_localize_script (или wp_add_inline_script), чтобы передать AJAX-URL (admin-ajax.php) и nonce-токен в JavaScript. Nonce критически важен для защиты от CSRF-атак.
JavaScript часть: Используйте fetch или jQuery $.post для отправки данных на сервер. В данных обязательно передайте действие (action), nonce и сами изменяемые данные.
PHP обработчик:
Зарегистрируйте хуки wp_ajax_{action} (для авторизованных пользователей) и wp_ajax_nopriv_{action} (если нужно для гостей, но для настроек профиля обычно только первый).
В функции-обработчике первым делом проверьте nonce с помощью check_ajax_referer.
Проверьте права пользователя (current_user_can).
Санитизируйте входящие данные (например, sanitize_text_field, intval).
Обновите мета-данные через update_user_meta.
Верните ответ в формате JSON с помощью wp_send_json_success или wp_send_json_error.
1