DEV Community

Ilya Beliaev
Ilya Beliaev

Posted on

๐Ÿš€ WP-XPub v1.0.0 โ€“ A Clean Architecture Approach to Multi-Channel Publishing in WordPress

Weโ€™re proud to release WP-XPub v1.0.0, a modern, maintainable WordPress plugin designed for structured multi-channel publishing โ€” built from the ground up with hexagonal architecture, PSR standards, and clean separation of concerns.


๐ŸŽฏ What is WP-XPub?

WP-XPub is a flexible auto-publisher framework for WordPress that allows you to push content to multiple external platforms (e.g., Mastodon, LinkedIn, custom APIs) from within your WordPress environment. Itโ€™s not another social media plugin โ€” itโ€™s a system designed for:

  • High modularity
  • Testability and long-term maintainability
  • Minimal WordPress coupling
  • Extensible publisher definitions

๐Ÿ’ก Why Not in the WordPress Plugin Directory?

โš ๏ธ WP-XPub is not listed on WordPress.org โ€” and thatโ€™s by design.

The WordPress plugin directory enforces legacy practices that actively hinder modern software architecture. This includes:

  • Tight coupling through functions.php
  • Global procedural design
  • Prohibition of namespaced class autoloading (e.g., via Composer)
  • Literal-only i18n strings, which break abstraction and prevent layered translation systems
  • Constraints that prevent effective testing or mocking

We respect the ecosystem โ€” but we choose to build for developers who care about code quality, clarity, and architecture first.


โœ… What's in v1.0.0?

  • โœ”๏ธ Multi-publisher architecture using filter-dispatched factories
  • โœ”๏ธ Admin UI to activate publishers and set platform-specific configuration
  • โœ”๏ธ Publisher abstraction that allows easy integration of 3rd-party APIs
  • โœ”๏ธ Automatic trigger on post publication (post_status = publish)
  • โœ”๏ธ Fully PSR-compliant code (PSR-1, PSR-4, PSR-12)
  • โœ”๏ธ Composer-powered structure โ€” no function clutter, no legacy globals
  • โœ”๏ธ Support for modern PHP (8.2+) and WordPress 6.x

๐Ÿ‘‰ See the full source and installation instructions on GitHub

Top comments (0)