为何存在两种不同的WordPress API?差异与适用场景问询
WordPress Core REST API vs WordPress.com REST API:差异与适用场景
核心差异
1. 归属与部署方式
- WordPress Core REST API(
wp-json/wp/v2):WordPress原生内置的API,属于站点本身。自托管WordPress或WordPress.com高级计划(Business/Commerce)站点均可使用,请求地址绑定站点自身域名。基础认证需站点额外配置(如安装插件或修改代码开启),WordPress.com免费/低级计划通常限制该API的高级功能。 - WordPress.com REST API(
public-api.wordpress.com/rest/v1.1/sites/):Automattic官方提供的统一封装接口,专门服务WordPress.com托管的所有站点,请求地址为Automattic公共域名。必须通过OAuth 2.0认证调用,所有WordPress.com站点(含免费版)均支持。
2. 功能权限与覆盖范围
- 自定义字段支持:
- Core API默认不暴露自定义字段,需在站点端主动将字段注册到REST API白名单(如通过
register_meta函数或ACF插件的REST支持),才能实现API读写。你遇到的无法添加自定义字段问题,本质是未完成该配置。 - WordPress.com API仅支持官方预定义字段或部分通用自定义字段,针对站点私有自定义字段的支持受平台规则限制,灵活性远不如Core API。
- Core API默认不暴露自定义字段,需在站点端主动将字段注册到REST API白名单(如通过
- 用户邮箱修改:
- Core API的
/wp/v2/users/{id}端点支持修改邮箱,只要认证用户拥有足够权限(如管理员)即可操作。 - WordPress.com API的站点级端点无法修改用户邮箱,因为WordPress.com采用全局账号体系(用户账号不属于单个站点),修改邮箱需调用全局用户API,且需获取用户级OAuth权限(而非站点级权限)。
- Core API的
适用场景
选择Core API的情况
- 你的WordPress.com站点为高级计划,允许修改主题/插件代码,能配置Core API的字段暴露与权限。
- 需要深度定制站点功能,比如读写自定义字段、操作站点底层数据。
- 未来可能迁移到自托管WordPress,需保持API兼容性。
选择WordPress.com API的情况
- 站点是WordPress.com免费/低级计划,无法启用Core API的高级功能或基础认证。
- 开发跨多个WordPress.com站点的应用,需要统一的OAuth认证体系,无需每个站点单独配置。
- 仅需使用官方开放的基础功能(如发布标准文章、管理评论、读取站点数据),无需深度定制。
你的问题解决建议
- Core API添加自定义字段:在站点
functions.php中添加代码注册字段,示例:
register_meta('post', 'your_custom_field_key', array( 'show_in_rest' => true, 'single' => true, 'type' => 'string' ));
注册后,创建文章时即可在请求的meta参数中传入自定义字段值。
- WordPress.com API修改用户邮箱:切换调用WordPress.com全局用户API端点,确保OAuth认证时获取了用户级权限(如
email权限)。
内容的提问来源于stack exchange,提问作者Timothée CLEAR
相关产品推荐
相关产品推荐

