| 开发者 | draft2live |
|---|---|
| 更新时间 | 2026年5月26日 16:06 |
| PHP版本: | 7.4 及以上 |
| WordPress版本: | 6.9 |
| 版权: | GPLv2 or later |
| 版权网址: | 版权信息 |
draft2live-connect folder to /wp-content/plugins/ manually.)Yes. The plugin is 100% free and open source under the GPL v2 license. A Draft2Live account is required to generate content, and Draft2Live itself offers a free tier so you can try the full workflow end-to-end at no cost.
Only the data needed to keep your articles in sync:
Yes — the plugin is the WordPress side of the Draft2Live platform. You can create a free account at draft2live.ai.
The safest way is to go to Users → Profile → Application Passwords and revoke the "Draft2Live" entry. You can also deactivate and delete the plugin from Plugins. Both methods immediately stop all further communication with Draft2Live.
Yes. If either plugin is active, Draft2Live will detect it automatically during site verification and offer you multilingual publishing: you can generate one article in multiple languages and publish them all in one click, linked as translations of each other. Cross-language linking uses the Polylang REST API or the WPML language field depending on which plugin is installed.
Yes. If Yoast SEO or Rank Math is active, the plugin detects it and Draft2Live will push a meta title, meta description and focus keyword to the appropriate post meta fields when you publish. If neither plugin is active, only standard WordPress post fields are written.
Yes. The plugin supports publishing to any registered public post type, not just posts and pages.
Only for posts that originated from Draft2Live (identified by a hidden post meta field the plugin writes on import). Posts you created manually in WordPress are never touched by the sync.
featured_image_url (and other media URLs) are now validated with strict, defense-in-depth checks before download: HTTP/HTTPS only, the host is DNS-resolved and every resulting IP must be publicly routable (loopback, private, link-local, the 169.254.169.254 cloud-metadata address, CGNAT and reserved ranges are blocked), each redirect hop is re-validated, and the downloaded file is capped in size and confirmed to be an image/video by MIME type. Replaces the previous wp_http_validate_url()-only check.POST /draft2live/v1/posts/{id}/republish endpoint that simply flips the post status back to publish. The original slug, categories, tags, author and any edits made on the WordPress side are left untouched, and the unpublish → re-publish cycle no longer occasionally creates duplicate posts.<p>.draft2live-faq { … }, bare .faq-section { … } rules, legacy .faq-section wrappers, etc.) are now stripped automatically on every publish and update, so articles that already had leaking FAQ styles in their content get cleaned up the next time Draft2Live syncs them.the_content filter using the bundled stylesheet — the HTML and styles no longer have to be injected into post_content from Draft2Live. Fixes the long-standing issue where <style> tags occasionally leaked into the article body as plain CSS text after wp_kses / wptexturize processed the content, and lets the user safely edit the article in WordPress without breaking the FAQ block. Localised FAQ heading (UK/EN/RU/PL/DE/FR/ES/IT/PT/NL — falls back to English).featured_image_filename and featured_image_alt sent by Draft2Live; if absent, the plugin falls back to the previous behaviour.featured_image_url in the update payload — a non-empty URL replaces the thumbnail, an empty string clears it, omitting the key leaves the current thumbnail untouched./draft2live-posts now requires edit_others_posts, /posts/{id}/export uses per-post permission check.load_plugin_textdomain() — WordPress.org handles translations automatically since 4.6.GET /wp-json/draft2live/v1/draft2live-posts endpoint that returns every WP post which originated from Draft2Live (has the _draft2live_article_id postmeta). Used by the Draft2Live dashboard to re-link existing publications after a site has been disconnected and re-paired./wp-json/draft2live/v1/disconnect REST endpoint so Draft2Live can clear the plugin's local pairing state when the user removes the site from their Draft2Live account. Without this, the plugin kept showing as connected after the matching site was deleted on the Draft2Live side.wp_http_validate_url().post_status values are now whitelisted against draft, pending, publish, future, private.JSON_HEX_* flags so stored content can't break out of the <script> block.post_type default was missing from the settings defaults. Sync now works out of the box..pot file in /languages/ so the plugin is fully translatable.Tested up to to 6.9./setup REST endpoint that Draft2Live calls at the end of the pairing handshake to push the site_id and webhook_secret automatically./wp-json/draft2live/v1/.