| 开发者 | gymgrowplugin |
|---|---|
| 更新时间 | 2026年6月23日 18:52 |
| PHP版本: | 7.4 及以上 |
| WordPress版本: | 7.0 |
| 版权: | GPLv2 or later |
| 版权网址: | 版权信息 |
gymgrow/v1 namespace so an external system (for example, an AI content pipeline) can:
functions.php snippets with a versioned, capability-checked plugin.
Endpoints
POST /wp-json/gymgrow/v1/article — publish/update an article (also sets SEO and featured image).POST /wp-json/gymgrow/v1/media — upload an image.POST /wp-json/gymgrow/v1/seo/{id} — update RankMath SEO fields for a post.POST /wp-json/custom/v1/rankmath/{id} is also registered for pipelines that used the legacy route.
Authentication
Requests are authenticated with WordPress's own user authentication — use an Application Password (Basic Auth) for a user who can publish posts. Permissions are enforced per route with capability checks (publish_posts, upload_files, edit_post). You may optionally enable a second-factor shared secret (X-GymGrow-Key header) from the settings screen.
This plugin does not call any external services and stores no personal data.
gymgrow-connect folder to /wp-content/plugins/, or install the ZIP via Plugins → Add New → Upload Plugin.No. If RankMath is active the SEO fields take effect immediately. If not, the meta is still stored under the RankMath meta keys and becomes live once RankMath is installed.
Every route has a capability-based permission_callback. Publishing requires publish_posts, uploads require upload_files, and SEO updates require edit_post on the target post. You can additionally require a matching X-GymGrow-Key header.
No. The plugin only receives requests; it does not phone home or contact third-party services.
status parameter now creates or updates a draft instead of publishing. Publishing requires explicitly passing status=publish, which remains gated by the publish_posts capability.publish_posts capability even when the request does not change the status.publish_posts capability when an update changes a post to a published, private, or scheduled (future) status, not just edit_post.