У меня проблемы с использованием 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
Спасибо