Wordpresaurus | Madelo
Laravel-on-WordPress — MU plugin that brings Eloquent, Blade, validation, and Laravel-style config to WordPress theme development
by Madelo, s.r.o. · github.com/michal-cecko/wordpresaurus-wp-plugin
Install
No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:
wp plugin install https://github.com/michal-cecko/wordpresaurus-wp-plugin/archive/refs/heads/main.zipWordpresaurus
Laravel-on-WordPress — a must-use plugin that gives WordPress themes the same ergonomics as a Laravel app: Eloquent models, Blade views, config files, validation, service container, request lifecycle.
Built by Michal Čečko as the shared base for several client themes (Naskin and others).
What it adds to WordPress
| Concept | Backed by |
|---|---|
| Eloquent ORM over WP tables | jgrossi/corcel ^8 |
| Database query builder + migrations | illuminate/database ^11 |
| Blade-like view rendering | illuminate/view ^11 (themes can override views) |
| Validation (Laravel-style rules) | illuminate/validation |
Config files in /config/*.php |
bundled bootstrap |
| Service helpers, request lifecycle, error logger | Saurus\App\… PSR-4 |
Install
cd wp-content/mu-plugins
git clone https://github.com/michal-cecko/wordpresaurus-wp-plugin wordpresaurus
cd wordpresaurus
composer install
WordPress auto-loads MU plugins, so once wordpresaurus.php exists at mu-plugins/wordpresaurus/wordpresaurus.php, it's active.
Layout
.
├── wordpresaurus.php # plugin entry
├── composer.json # illuminate/* + corcel + ext-curl
├── app/ # Saurus\App\… service code
├── config/ # default config files (overrideable per-theme)
├── inc/ # WP-specific includes
├── resources/ # default views / assets
├── dist/ # built assets
├── CHANGELOG.md
└── TODO.md
Required wp-config.php constants (optional, per feature)
// reCAPTCHA v3 validation helpers
define('WORDPRESAURUS_RECAPTCHA_SITE_KEY', '<site-key>');
define('WORDPRESAURUS_RECAPTCHA_SECRET', '<secret>');
Both default to empty strings if unset — relevant validation rules will then fail closed.
Why it exists
WordPress themes scale poorly past ~5 custom post types and a handful of forms: business logic ends up tangled with template code, and reaching for an ORM or a real DI container means fighting WP_Query and globals. This plugin pulls in just enough of the Laravel ecosystem to let theme code look like an application: thin controllers, fat models, blade partials, validated forms, env-driven config.
License
MIT © Michal Čečko