Automates news creation in WordPress by importing RSS feeds and transforming them into structured draft posts.
Editorio is a WordPress plugin designed to automate the process of news aggregation and draft generation.
It allows users to register RSS sources, collect content, and transform it into editable drafts inside WordPress.
Editorio acts as a content pipeline:
Sources → Collection → Processing → Draft → Review → Editor
The plugin is structured into modular layers:
- Sources Module → manages RSS feeds
- Collector Module → fetches feed data
- Processor Module → transforms raw data into content
- Draft Module → builds structured drafts
- Review Module → UI for approval/discard
- Publisher Module → sends content to WP editor
- RSS source registration
- Feed fetching
- Draft generation (basic)
- Draft review screen
- Send draft to WordPress editor
- Content filtering rules
- Duplicate detection
- Multi-source merging (same topic)
- AI-assisted rewriting
- Scheduling (cron)
- Tag/category auto-detection
User adds RSS feed URLs.
System retrieves items from feeds.
- Normalize data
- Remove duplicates
- Prepare structure
Create a structured draft article.
User can:
- Approve
- Discard
- Send to editor
Draft becomes a WordPress post.
- id
- name
- url
- active
- id
- source_id
- title
- content
- link
- published_at
- id
- title
- content
- status (pending, approved, discarded)
- created_at
- Manual trigger
- Scheduled (cron) (planned)
- PHP (WordPress plugin)
- JavaScript (React for admin UI)
- WordPress REST API
- WP Cron (planned)
- Sources UI
- Feed ingestion service
- Draft builder
- Review interface
- Editor integration
- Deduplication engine
- AI integration
- Scheduling system
This project is being developed with AI-assisted workflows. See AGENTS.md for development guidelines.
The plugin uses @wordpress/scripts (webpack under the hood) to compile assets from src/ into bundle/.
src/js/index.js-> outputs intobundle/js/index.jssrc/css/index.scss-> outputs intobundle/css/index.csssrc/js/modules/sources/index.js-> outputs intobundle/modules/sources/index.jssrc/js/modules/draft/index.js-> outputs intobundle/modules/draft/index.jssrc/js/modules/review/index.js-> outputs intobundle/modules/review/index.jswebpack.config.js-> custom entry/output settings
cd public/wp-content/plugins/editorio
npm install
npm run start
npm run build
npm run releasenpm run release creates an installable zip at:
dist/editorio.zip
The release process excludes development files (src, node_modules, webpack config, package files, etc.) and keeps runtime files only.
After activating the plugin, you can manage RSS sources in the WordPress admin menu:
Editorio
The page includes list/create/update/delete operations backed by the REST API:
GET /wp-json/editorio/v1/sourcesGET /wp-json/editorio/v1/sources/{id}POST /wp-json/editorio/v1/sourcesPUT /wp-json/editorio/v1/sources/{id}DELETE /wp-json/editorio/v1/sources/{id}
Required payload fields for create/update:
name(string)feed_url(valid URL)is_active(boolean)