williarin/wordpress-interop
williarin/wordpress-interop bridges WordPress and modern PHP frameworks, letting you boot WordPress inside Laravel or Symfony apps to use its functions, hooks, and database from your own code—no separate install required.
wp_posts, wp_postmeta, wp_users, wp_options, wp_terms) through Eloquent models. This de-risks a “strangler” migration: ship Laravel-side features against live WP content instead of committing to a big-bang rebuild or a paid headless CMS.Adopt when most of these hold:
Look elsewhere when:
postmeta/options — mapping and unserialization costs escalate quickly and are easy to underestimate.Vendor-risk note for the decision record: 67 stars, single-maintainer signal, last release July 2024, MIT. Treat it as a thin, forkable dependency rather than a platform bet. Budget a small spike to read the source and confirm table coverage, and isolate it behind your own repository/adapter interface so it can be replaced or vendored if maintenance lapses.
For executives: This is a low-cost bridge, not a platform commitment. It lets us ship Laravel features against our existing WordPress content in weeks rather than funding a full CMS migration up front, and it keeps the content where it is until we have evidence the migration is worth doing. No license fees (MIT), no new vendor contract, and every phase is reversible — if it doesn’t pan out, we’ve spent engineering days, not a migration budget.
For engineering: It’s a set of Eloquent models over the WordPress schema — a data-access layer, not an integration framework. It does not give you WordPress behavior (hooks, shortcodes, block rendering, auth), and it does not solve writes, revisions, caching, or serialized meta. Plan to wrap it behind our own repository interface, pin the version, and own the mapping for any non-core tables. The upside is we skip building a sync pipeline for read-only needs and get a clear seam for a later cutover.
Recommendation: Approve a time-boxed spike (1–2 weeks) against a real database snapshot to validate schema coverage and serialized-data handling, with adoption gated on that spike and on the adapter abstraction being in place before production use.
How can I help you explore Laravel packages today?