Как использовать WP_REST_Server :: CREATABLE для вставки в MySQL дБ? - PullRequest
0 голосов
/ 09 апреля 2020

У меня проблемы с использованием WP_REST_Server :: CREATABLE для POST API WP REST.

Я пытаюсь вставить в базу данных через POST, но это не работает. Я смог заставить его работать через GET, но не POST:


<?php

// Register REST API endpoints
class GenerateWP_Custom_REST_API_Endpoints {

  /**
   * Register the routes for the objects of the controller.
   */
  public static function register_endpoints() {
    register_rest_route( 'ibl/api/interview', '/greeting', array(
      'methods' => WP_REST_Server::CREATABLE,
      'callback' => array( 'GenerateWP_Custom_REST_API_Endpoints', 'create_greeting' ),
    ) );
  }

  /**
   * Add a new greeting
   *
   * @param WP_REST_Request $request Full data about the request.
   * @return List
   */
  public static function create_greeting( $request ) {
    global $wpdb;
    $item = $request->get_json_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));
    }
    $fields = implode(", ", $fields);
    $values = $_GET["greeting"];

    $query = "INSERT INTO wp_api (GREETING) VALUES ('$values')";
    $list = $wpdb->get_results($query);

    return $list;
  }
}

add_action( 'rest_api_init', array( 'GenerateWP_Custom_REST_API_Endpoints', 'register_endpoints' ) );

?reeting = Ititit

Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...