WP Content Extractor is a WordPress plugin that automates content extraction and publishing via WordPress cron.
wp-content-extractor/
├── content-extractor.php # Main plugin file
├── functions.php # Core functions
└── README.md # Documentation
Responsibilities:
- Plugin initialization
- Settings page registration
- Cron scheduling
- Settings API integration
Key Functions:
ce_register_settings_page()- Registers admin settings pagece_register_settings()- Registers settings with WordPress Settings APIce_add_custom_cron_intervals()- Adds custom cron intervalsce_extract_content()- Main extraction functionce_log_error()- Error logging
Responsibilities:
- Content parsing logic
- Post publishing
- Featured image handling
Key Functions:
ce_parse_and_publish_content()- Parses content and creates postsce_set_featured_image()- Downloads and sets featured images
1. WordPress Cron Trigger
↓
2. ce_extract_content()
↓
3. Fetch content from URL (wp_remote_get)
↓
4. Parse content (ce_parse_and_publish_content)
↓
5. Create WordPress posts (wp_insert_post)
↓
6. Download featured images (ce_set_featured_image)
↓
7. Update pagination state
Uses WordPress Settings API for secure settings management:
register_setting()- Registers settings groupadd_settings_section()- Creates settings sectionadd_settings_field()- Adds individual fields
Uses WordPress cron for scheduled tasks:
wp_schedule_event()- Schedules recurring eventadd_action()- Hooks function to cron eventwp_next_scheduled()- Checks if event is scheduled
- Uses
wp_remote_get()for HTTP requests (notfile_get_contents()) - Sanitizes all user input with
esc_url_raw(),esc_attr() - Validates data before processing
- Uses WordPress nonces for form submissions
- All remote requests check for
WP_Error - File operations validate success
- Errors logged via
error_log()whenWP_DEBUGis enabled - Functions return
falseon failure for easy error checking
The plugin is designed to be extensible:
- Hooks: Actions and filters for customization
- Modular Functions: Easy to override or extend
- Clear Separation: Settings, extraction, and parsing are separated
- REST API endpoints for manual triggering
- Background processing for large batches
- Caching layer for remote requests
- Queue system for failed extractions