WP_REST_Server::CREATABLE
是 WordPress REST API 中的一个常量,它表示一个资源可以被创建。如果你想通过 REST API 插入数据到 MySQL 数据库,你需要遵循以下步骤:
WordPress REST API 允许外部应用通过 HTTP 请求与 WordPress 内容进行交互。CREATABLE
表示你可以通过 API 创建新的资源实例。
以下是一个简单的示例,展示如何使用 WP_REST_Server::CREATABLE
创建一个自定义 REST API 资源,并将其插入到 MySQL 数据库中:
// 注册自定义 REST API 路由
function register_custom_rest_route() {
register_rest_route('myplugin/v1', '/items', array(
'methods' => WP_REST_Server::CREATABLE,
'callback' => 'create_item',
'permission_callback' => '__return_true',
));
}
add_action('rest_api_init', 'register_custom_rest_route');
// 创建项目的回调函数
function create_item($request) {
// 验证请求数据
$data = $request->get_json_params();
if (empty($data['name'])) {
return new WP_Error('invalid_name', 'Name is required.', array('status' => 400));
}
// 插入数据到数据库
global $wpdb;
$table_name = $wpdb->prefix . 'myplugin_items';
$wpdb->insert(
$table_name,
array(
'name' => sanitize_text_field($data['name']),
'created_at' => current_time('mysql'),
)
);
// 返回创建的项目
$item_id = $wpdb->insert_id;
$item = get_item_by_id($item_id);
return rest_ensure_response($item);
}
// 根据ID获取项目的辅助函数
function get_item_by_id($id) {
global $wpdb;
$table_name = $wpdb->prefix . 'myplugin_items';
$item = $wpdb->get_row($wpdb->prepare("SELECT * FROM $table_name WHERE id = %d", $id));
return $item;
}
如果你在插入数据时遇到问题,可能是由于以下原因:
dbDelta
函数创建。解决方法:
通过以上步骤,你应该能够成功地通过 WordPress REST API 插入数据到 MySQL 数据库中。
企业创新在线学堂
云+社区技术沙龙[第17期]
云+社区沙龙online[数据工匠]
腾讯云GAME-TECH沙龙
小程序云开发官方直播课(应用开发实战)
高校公开课
腾讯云数据库TDSQL训练营
腾讯云数据库TDSQL训练营
企业创新在线学堂
领取专属 10元无门槛券
手把手带您无忧上云