微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php – WordPress REST API创建使用自定义表的自定义端点

是否可以创建连接到同一数据库但具有自定义表的自定义端点?如果有,怎么样?

例如 :

wp_TempTable(自定义表)

我想用自定义端点访问它…我搜索了多个论坛和网站但没有运气..

解决方法:

对的,这是可能的.这不会使用wordpress推荐的Controller模式,但可以完成工作,其中的工作是将传入的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' );
    }
  ) );
} );

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐