SuperAPI AI 工具集

wp-rest-api

编程与开发

查看项目

更新于 10-15 18:31

技能介绍

用途:在 WordPress 项目中创建或更新 REST 路由与端点,调试 401/403/404 与权限/nonce 问题,为 REST 响应添加自定义字段/元数据,将自定义文章类型或分类法通过 REST 暴露,实现 schema 与参数校验,调整响应链接、嵌入与分页。

主要能力与用法:选对方式——用 show_in_rest => true 及 rest_base(可选 rest_controller_class)把 CPT/分类法暴露到 wp/v2;自定义端点用 register_rest_route() 挂在 rest_api_init 上,非简单场景优先 WP_REST_Controller 子类。注册路由使用唯一命名空间 vendor/v1,始终提供 permission_callback(公开端点用 __return_true),用 WP_REST_Server 方法常量,经 rest_ensure_response() 或 WP_REST_Response 返回数据,用 WP_Error 带明确状态码返回错误。参数校验使用 type、default、required、validate_callback、sanitize_callback,或 rest_validate_value_from_schema 与 rest_sanitize_value_from_schema;端点内不直接读 $_GET/$_POST,改用 WP_REST_Request。字段方面不删核心字段,用 register_rest_field 加计算字段、register_meta 并设 show_in_rest 加元数据;需要未过滤正文时可带 ?context=edit 获取 content.raw(需认证),配合 _fields=content.raw。认证:wp-admin/JS 用 cookie 加 X-WP-Nonce(action wp_rest),外部客户端用应用密码或认证插件,权限用能力检查而非仅“已登录”。另需保证发现机制、支持 _fields、_embed、_method、_envelope 与分页头,注意 per_page 上限为 100。

验证与排错:/wp-json/ 索引应含命名空间,OPTIONS 返回 schema,权限失败返回 401/403;404 常因 rest_api_init 未触发、路由拼写或固定链接关闭(可用 ?rest_route=);缺 permission_callback 会触发 _doing_it_wrong。资料未提供具体代码示例与完整 API 细节,需结合官方文档确认。