外掛標籤
開發者團隊
② 後台搜尋「Artificial Poets Reusable Components CDN」→ 直接安裝(推薦)
原文外掛簡介
WP Components lets one WordPress site act as a Host that publishes a Library of named pieces of content — a logo, a tagline, a social-links JSON blob, a privacy notice — and any number of other sites act as Receivers that subscribe to that Host and consume those components instantly.
Every component has a stable slug, a type (json, text, or file), a per-component cache TTL, and an auto-incrementing version number that becomes its HTTP ETag. Subscribers fetch the latest version on demand and revalidate cheaply with 304 Not Modified for unchanged content.
A single site can also act as both Host and Receiver — publish your own Library while subscribing to one or more remote Hosts.
Use cases
Keep brand assets (logo, favicon, tagline, contact info) in sync across a fleet of WordPress sites without copy-paste.
Centralise structured data (footer links, locations, pricing tables) so updating once propagates everywhere.
Serve component content from a dedicated CDN subdomain via a thin reverse-proxy layer.
Pull versioned content into a headless frontend (Next.js, Astro, Vercel) with stable cache semantics.
Key features
Three component types — JSON, plain text, and file (proxies URLs through the REST endpoint).
Two independent capabilities — publish your Library and/or subscribe to a remote Host. Toggle each side on or off in Settings.
HTTP cache headers — every /raw response sends ETag, Last-Modified, and Cache-Control: public, max-age=
Per-IP rate limiting — 120 requests per 60 seconds on the host endpoints.
CORS control — open, allowlist, or denylist by domain (with *.example.com wildcard support).
Optional authentication — require Application Passwords on either side independently.
Source connection tester — verify a Host URL from the Settings page before saving.
Native admin UI — built on WordPress admin patterns, fully translatable.
REST endpoints (Host mode)
GET /wp-json/wp-components/v1/components — list all published components
GET /wp-json/wp-components/v1/components/{slug} — fetch one as JSON metadata
GET /wp-json/wp-components/v1/components/{slug}/raw — fetch with type-appropriate Content-Type (text/plain, application/json, or proxied file bytes)
