WordPress REST API создает пользовательскую конечную точку, которая использует пользовательскую таблицу

Можно ли создать пользовательскую конечную точку, которая подключена к той же базе данных, но с пользовательской таблицей? если да, то как?

например :

wp_TempTable (пользовательская таблица)

Я хочу получить доступ к этому с помощью пользовательской конечной точки … Я искал несколько форумов и сайтов, но не повезло …

4

Решение

Да, это возможно. Это не использует шаблон Controller, рекомендованный WordPress, но выполняет свою работу, где задача состоит в том, чтобы преобразовать входящий json в строку в вашей пользовательской таблице (здесь она называется restaurants).

function handle_post( WP_REST_Request $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 = implode(", ", $values);
$query = "INSERT INTO `restaurants` ($fields) VALUES ($values)";
$list = $wpdb->get_results($query);

return $list;
}add_action( 'rest_api_init', function () {
register_rest_route( 'restos/v1', '/post', array(
'methods' => 'POST',
'callback' => 'handle_post',
'permission_callback' => function () {
return current_user_can( 'edit_others_posts' );
}
) );
} );
3

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector