Пользовательский маршрут WordPress Rest API - PullRequest
0 голосов
/ 01 апреля 2020

Я хочу обновить таблицу wp_users. Я добавил в таблицу два пользовательских поля вручную с помощью phpmyadmin - uuid, change_uuid.

Я сделал такой плагин

add_action( 'rest_api_init', function () {
  register_rest_route( 'custom/v1', 'uuid/update', array(
    'methods' => 'PUT',
    'callback' => 'updateUUID'
  ));
});


function updateUUID( WP_REST_Request $request ) {
    global $wpdb;
    $item = $request->get_params();

    $fields = array();
    $values = array();
    foreach($item as $key => $val) {
        array_push($fields, preg_replace("/[^A-Za-z0-9_]/", '', $key));
        array_push($values, $wpdb->prepare('%s', $val));
    }

    $query = "UPDATE `wp_users`
                SET ($fields[0]) = ($values[0]), ($fields[1]) = ($values[1])
                WHERE `user_login` = ($values[2]);

    ";

    $list = $wpdb->get_results($query);

    return $list;
}

Я отправляю запрос PUT почтальоном, как этот // https://lofty-tibiabot.com/new/wp-json/custom/v1/uuid/update?user_login=majster&uuid=121212&change_uuid=2

И мой ответ:

<HTML>

<HEAD>

    <TITLE>400 Bad Request</TITLE>

</HEAD>

как заставить это работать?

...