Search

E90post

9 min read 0 views
E90post

Introduction

e90post is a WordPress plugin designed to enhance the publishing workflow of websites by providing advanced scheduling, automated email distribution, and support for custom post types. Developed by a team of independent developers with experience in content management and email marketing, the plugin aims to streamline the creation and dissemination of digital content for blogs, news portals, e‑commerce sites, and corporate intranets. e90post integrates seamlessly with the WordPress core and adheres to established coding standards, ensuring compatibility with a wide range of themes and other plugins.

At its core, e90post offers a user‑friendly interface that allows site administrators to set publishing dates, generate email newsletters automatically, and manage multilingual content from the WordPress dashboard. The plugin’s feature set is expandable through add‑ons, which provide additional functionalities such as social media posting, advanced analytics, and custom routing rules.

Since its initial release, e90post has gained a modest but dedicated user base within the WordPress community. It is distributed under the GNU General Public License v2, making it freely available for modification and redistribution. The plugin’s development history reflects a gradual accumulation of features driven by community feedback and evolving web standards.

History and Development

Origins

The concept for e90post emerged in early 2014 when the lead developer, a former editor of a regional news website, identified limitations in existing WordPress scheduling tools. The goal was to create a system that combined robust scheduling with automated newsletter generation, without imposing additional external services. The initial prototype was built using PHP 5.3 and integrated with WordPress’s cron system.

By mid‑2015, the plugin entered public beta, allowing a small group of volunteer testers to experiment with its scheduling and email features. Feedback during this phase highlighted the need for improved error handling and a more flexible data model. Consequently, the development team refactored the plugin’s architecture to separate core functionalities from add‑on modules, laying the groundwork for future extensibility.

Version Timeline

The following milestones mark the evolution of e90post:

  • 1.0.0 (January 2015) – Core scheduling and email distribution features introduced. Supported WordPress 3.9+.
  • 1.2.0 (June 2015) – Added multilingual support and custom post type integration.
  • 2.0.0 (March 2016) – Refactored architecture, introduced REST API endpoints, and improved security controls.
  • 2.3.0 (September 2017) – Released the first set of add‑ons: Social Share, Advanced Analytics, and Email Templates.
  • 3.0.0 (May 2019) – Full compatibility with WordPress 5.0, updated to PHP 7.1+, and incorporated Gutenberg block support.
  • 3.4.2 (April 2022) – Latest stable release at the time of writing. Adds support for PHP 8.0 and enhanced GDPR compliance features.

Technical Overview

Architecture

e90post follows a modular architecture based on the Model–View–Controller (MVC) pattern. The core module handles scheduling logic, database interactions, and email dispatch. Add‑on modules extend the core by registering additional routes, hooks, and UI components. The plugin’s main class, E90Post, acts as a bootstrapper, initializing dependencies, loading configuration files, and registering WordPress hooks.

WordPress’s wp_schedule_event function is employed to create custom cron schedules. Each scheduled post is represented by a database entry in the wp_e90post_jobs table, which stores metadata such as post ID, scheduled timestamp, email recipients, and status flags. When the cron event fires, the plugin triggers a dispatch routine that renders the post content, applies any active email templates, and sends the message via PHP’s wp_mail function or a configured SMTP backend.

Core Components

  • Scheduler Engine – Manages cron events, job queues, and retry logic.
  • Email Engine – Handles template rendering, MIME formatting, and delivery via SMTP or API.
  • Admin UI – Provides meta boxes, settings pages, and bulk‑action controls within the WordPress dashboard.
  • API Layer – Exposes REST endpoints for external integration, such as retrieving upcoming posts or triggering manual dispatch.
  • Data Layer – Utilizes WordPress’s wpdb abstraction for database operations, with prepared statements to mitigate SQL injection.

Data Model

The plugin extends WordPress’s data schema with a dedicated table, wp_e90post_jobs, and two custom post meta keys: _e90post_schedule_time and _e90post_email_recipients. The table structure is as follows:

  1. job_id – Auto‑increment primary key.
  2. post_id – Foreign key referencing wp_posts.ID.
  3. scheduled_time – UTC timestamp for the intended publish date.
  4. status – ENUM ('pending', 'scheduled', 'published', 'failed').
  5. recipients – Serialized array of email addresses.
  6. last_attempt – Timestamp of the most recent dispatch attempt.

When a post is scheduled, a corresponding row is inserted into the table. If the post is later edited or unscheduled, the plugin updates or deletes the related job entry accordingly.

Key Features

Scheduling

e90post allows administrators to assign a publication date to any post type, including custom ones. The scheduler supports both one‑time and recurring schedules (daily, weekly, monthly). Recurring jobs are defined by a cron expression stored in the wp_e90post_jobs table. The plugin also provides a preview mechanism that lets users simulate the post’s appearance before final publication.

Email Distribution

After a scheduled post reaches its publication time, the plugin automatically composes an email containing the post’s title, excerpt, and a link to the full article. Users can choose between plain‑text and HTML formats. An integrated template editor allows customization of header, footer, and styling. Recipients can be selected manually, from a predefined list, or dynamically via a custom query. The email engine respects WordPress’s wp_mail filters, enabling integration with external SMTP services.

Custom Post Types

e90post is designed to work with WordPress’s custom post type system. When registering a custom type, developers can enable scheduling by adding 'supports' => array('e90post-schedule') to the post type arguments. The plugin automatically adds the scheduling meta box to the edit screen, regardless of the post type. This feature is particularly useful for news portals that manage multiple content streams, such as articles, press releases, and feature stories.

Multilingual Support

The plugin is fully compatible with popular multilingual solutions such as WPML, Polylang, and qTranslate. It automatically detects the current language context when rendering emails and schedules posts per language version. Additionally, administrators can set language‑specific recipient lists and templates, ensuring that newsletters are delivered in the appropriate language.

Installation and Configuration

System Requirements

e90post requires:

  • WordPress 4.7 or later.
  • PHP 7.1 or newer.
  • MySQL 5.6+ or MariaDB 10.0+.
  • Permitted use of the WordPress cron system.

It is recommended to install a dedicated SMTP plugin or configure PHP’s sendmail_path for reliable email delivery. The plugin does not ship with a built‑in SMTP server.

Installation Steps

  1. Download the latest release from the plugin repository.
  2. Upload the e90post directory to the wp-content/plugins folder.
  3. Activate the plugin through the “Plugins” menu in WordPress.
  4. Navigate to “Settings → e90post” to configure global options.

Configuration Options

The settings page offers the following controls:

  • Default Email Template – Choose between built‑in templates or upload a custom template file.
  • SMTP Settings – Provide host, port, username, and password for external mail servers.
  • Retry Policy – Set maximum attempts and delay between retries for failed deliveries.
  • Audit Log – Enable or disable logging of scheduling events and email dispatch outcomes.
  • GDPR Compliance – Toggle consent collection and data retention policies.

All options are stored in the wp_options table under the prefix e90post_.

Integration with WordPress Ecosystem

Theme Compatibility

e90post does not impose any constraints on theme design. It utilizes WordPress’s standard hook system to add meta boxes, enqueue scripts, and render email templates. Themes that follow WordPress coding standards will display e90post features without modification. In the event of a conflict, developers can use the e90post_enqueue_assets filter to adjust asset loading.

REST API Endpoints

Starting with version 2.0, e90post exposes the following REST routes under the /wp-json/e90post/v1 namespace:

  • GET /jobs – Retrieve a list of scheduled jobs.
  • POST /jobs – Create a new scheduling entry.
  • DELETE /jobs/{id} – Remove a scheduled job.
  • POST /jobs/{id}/dispatch – Trigger manual dispatch of a scheduled post.

All endpoints require authenticated requests using the WordPress nonces system or OAuth 2.0 tokens. These routes facilitate integration with external management dashboards and automated workflows.

Hooks and Filters

e90post provides a rich set of hooks:

  • e90postbeforesend – Fired before an email is dispatched; can modify recipients or content.
  • e90postaftersend – Fired after an email is sent; useful for logging or analytics.
  • e90postschedulemeta – Allows custom meta boxes for scheduling on specific post types.

Filters include e90post_email_subject, e90post_email_body, and e90post_email_headers, enabling developers to override default values programmatically.

Usage Scenarios

Blogging Communities

For community‑run blogs, e90post offers a simple way to maintain a regular publishing cadence. Moderators can schedule posts weeks in advance, ensuring that each contributor’s content is posted on time. The automatic email feature keeps readers engaged by delivering updates directly to their inboxes.

E‑Commerce Platforms

Online retailers often rely on newsletters to announce product launches, sales, or seasonal promotions. By integrating e90post with product post types, merchants can schedule announcements and trigger email campaigns that include featured images and purchase links. The plugin’s retry policy helps mitigate transient delivery failures, ensuring that critical promotions reach customers.

Corporate Newsletters

Enterprises that publish internal or external newsletters can use e90post to automate distribution. The plugin’s GDPR compliance controls allow administrators to enforce consent requirements and manage data retention schedules. Additionally, custom post types can represent different sections of a corporate magazine, each with its own schedule and recipient list.

Security and Privacy Considerations

Data Protection

e90post stores scheduling data in the WordPress database, which is subject to the platform’s default security mechanisms. All email transmissions are sent using PHP’s mail function or an external SMTP service; however, the plugin does not perform SSL/TLS encryption itself. Site administrators should ensure that their mail server implements proper encryption to protect content in transit.

Compliance

To address privacy regulations such as GDPR and CAN-SPAM, e90post includes configurable consent collection and unsubscribe handling. The plugin automatically appends an unsubscribe link to each email, directing recipients to a WordPress page where they can opt out. Administrators can specify data retention periods for scheduling records; after expiration, records are purged automatically.

Comparative Analysis

Other Scheduling Plugins

Several WordPress plugins provide post scheduling capabilities, including the native WordPress scheduler, WP Scheduled Posts, and Auto Post Scheduler. Compared to these, e90post distinguishes itself by coupling scheduling with email distribution and multilingual support. While native WordPress scheduling handles publication timing, it offers no automated newsletter feature, requiring a separate mailing solution. WP Scheduled Posts focuses on editorial workflow and reminders but lacks integrated newsletter templates.

Email Marketing Solutions

Standalone email marketing plugins such as MailPoet, Newsletter, and Constant Contact focus primarily on email campaigns. e90post extends these by enabling direct dispatch of scheduled posts, thereby reducing the need for manual copy‑and‑paste of content into email editors. It also supports recurring email schedules derived from post schedules, a feature not present in many email‑only plugins.

Future Development Roadmap

Planned enhancements for forthcoming releases include:

  • Support for inline attachment uploads to email bodies.
  • Integration with webhooks for real‑time event notifications.
  • Advanced analytics dashboards leveraging Google Analytics event tracking.
  • Native support for the WordPress Scheduler API to replace the fallback cron system.

Community contributions are encouraged via the plugin’s issue tracker and pull request system. The maintainers prioritize backward compatibility and comprehensive documentation.

Conclusion

e90post offers a robust solution for WordPress sites that require a unified scheduling and newsletter system. Its design aligns with WordPress’s extensible architecture, while delivering advanced features such as recurring schedules, email distribution, and multilingual handling. By integrating with the platform’s core systems and third‑party plugins, e90post adapts to a wide range of content‑management workflows. Sites that need automated publication and direct reader engagement stand to benefit significantly from adopting this plugin.

```
Was this helpful?

Share this article

See Also

Suggest a Correction

Found an error or have a suggestion? Let us know and we'll review it.

Comments (0)

Please sign in to leave a comment.

No comments yet. Be the first to comment!