Как создать пользователя с помощью нового JSON API в WordPress 4.7?
Раньше я использовал плагины JSON API и JSON USER API до версии 4.7, и я видел документацию в справочнике REST API User, https://developer.wordpress.org/rest-api/reference/users/#create-a-user%20%22ReST%20API%20reference, но не знаю, с чего начать. Я уверен, что сначала должна произойти процедура аутентификации для получения nonce, но я больше не знаю, как это сделать. Я был бы очень признателен, если бы кто-нибудь показал мне или указал на примеры cURL-запросов и URI как для получения nonce, так и для создания пользователя.
Заранее спасибо

REST API, встроенный в WordPress, на самом деле не имеет встроенной системы аутентификации.
Если вы выполняете обычную аутентификацию в WordPress через вход в систему, ваш браузер получит набор cookies. Если вы отправите эти cookies вместе с запросом, это позволит вам аутентифицироваться и выполнить необходимые действия.
Если вам нужно добавить аутентификацию для внешнего сервиса, необходимо установить соответствующий плагин. Доступно несколько вариантов:
- https://wordpress.org/plugins/rest-api-oauth1/
- https://wordpress.org/plugins/application-passwords/
- https://wordpress.org/plugins/jwt-authentication-for-wp-rest-api/
Если вы просто тестируете локально, также доступен плагин Basic Authentication, который позволяет отправлять имя пользователя и пароль с каждым запросом в заголовке Authorization:
В любом случае, как только вы получите правильные cookies или включите метод аутентификации, создание нового пользователя становится простым. Отправьте POST-запрос на /wp-json/wp/v2/users
с указанием имени пользователя, email и пароля в теле запроса.
Документацию можно найти здесь:
https://developer.wordpress.org/rest-api/using-the-rest-api/
https://developer.wordpress.org/rest-api/using-the-rest-api/authentication/

Для того чтобы «Зарегистрировать пользователя» или «Восстановить пароль», требуется аутентификация пользователя с ролью «Администратор». Хотя это сделано преднамеренно в целях безопасности, такая реализация значительно усложняет для Front End приложений возможность реализации простых функций «Регистрации» или «Входа».
Простое решение — использовать плагин wp-rest-user. Этот плагин удовлетворяет таким требованиям, расширяя существующие конечные точки WordPress REST API.
ИСПОЛЬЗОВАНИЕ
Отправьте POST-запрос на /wp-json/wp-v2/users/register
, включив JSON-тело с тремя ключами: username, email и password.
Отправьте POST-запрос на /wp-json/wp-v2/users/lostpassword
, включив JSON-тело с одним ключом: user_login.
Вы можете использовать Postman, как показано на изображении ниже:
Или даже AJAX-запрос, как в следующем коде:
<script>
function addUserData(){
$.ajax( {
url: 'http://localhost/lapaktrip/wp-json/wp/v2/users/register',
method: 'POST',
contentType: "application/json; charset=utf-8",
dataType: "json",
data:JSON.stringify({
'username' : 'testmember',
'email' : 'testmember@gmail.com',
'password' : '123456'
})
} ).done( function ( response ) {
console.log( response );
} )
}
</script>
<button onclick="addUserData()">Начать отправку</button>
Надеюсь, этот ответ поможет многим. Удачного кодинга!
