Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Wordpress Laravel Package

johnpbloch/wordpress

Composer package for managing WordPress as a dependency. Install specific WordPress core versions via Composer, keep core out of your repo, and integrate WordPress into modern PHP workflows and deployments while retaining the standard WordPress structure.

View on GitHub
Deep Wiki
Context7

A fork of WordPress with Composer support added. Branches, tags, and trunk synced from upstream every 15 minutes.

Frequently asked questions about Wordpress
Can I use this package to install WordPress as a dependency in a Laravel project?
Yes, this package allows you to install WordPress core via Composer, keeping it out of version control. You can specify exact versions in your `composer.json` and integrate WordPress into Laravel’s dependency management system. This is particularly useful for projects where WordPress serves as a headless CMS or content backend.
How do I install and configure WordPress in a Laravel project?
Run `composer require johnpbloch/wordpress` to install the package. Configure WordPress by setting up a `wp-config.php` file in your project’s root, similar to a standalone WordPress install. Ensure your Laravel `.env` includes database credentials for WordPress, and adjust Laravel’s routing to avoid conflicts with WordPress’s permalinks.
Does this package support Laravel 10 and PHP 8.2?
The package primarily manages WordPress core, which has its own version requirements. As of now, it supports WordPress 6.x, which requires PHP 7.4+. For Laravel 10 and PHP 8.2 compatibility, ensure your WordPress version is updated to the latest stable release that supports these PHP versions. Test thoroughly, as some WordPress plugins or themes may not yet be fully compatible.
How can I use WordPress as a headless CMS for Laravel?
Treat WordPress as a separate service and consume its data via the WordPress REST API or GraphQL (if using plugins like WPGraphQL). In Laravel, use HTTP clients like Guzzle or Symfony’s HTTP client to fetch WordPress content, then hydrate Laravel models or collections. This approach decouples content management from presentation while leveraging WordPress’s existing ecosystem.
Will this package work with Laravel’s Eloquent ORM?
Direct integration with Eloquent is not recommended due to WordPress’s custom database schema (e.g., `wp_posts`, `wp_options`). Instead, query WordPress tables using Laravel’s raw database connections (e.g., `DB::connection('wordpress')->table('wp_posts')`) or fetch data via WordPress’s REST API. For shared databases, ensure proper schema isolation to avoid conflicts.
Are there performance concerns when running WordPress alongside Laravel?
Yes, WordPress is resource-intensive, especially if shared with Laravel on the same server. Consider deploying WordPress and Laravel as separate services behind a reverse proxy (e.g., Nginx) to isolate resources. Optimize WordPress with caching (e.g., Redis, OPcache) and disable unnecessary features like XML-RPC or cron jobs if not needed.
How do I handle WordPress updates without breaking Laravel?
This package allows you to update WordPress core via Composer (`composer update johnpbloch/wordpress`). Test updates rigorously in a staging environment, especially if you’ve customized WordPress or plugins. Use Laravel’s service providers to reset or reconfigure WordPress-specific dependencies post-update. Automate updates cautiously to avoid downtime or conflicts.
What are the alternatives to this package for Laravel-WordPress integration?
Alternatives include manually installing WordPress via `.zip` or Git, using Docker to containerize WordPress separately, or leveraging headless WordPress solutions like Strapi or Directus for Laravel. For tighter integration, consider custom WordPress plugins that expose APIs for Laravel to consume, avoiding direct core modifications.
Can I use WordPress plugins or themes with this package?
Yes, you can install WordPress plugins and themes via Composer or manually, just like in a standalone WordPress setup. However, ensure plugins are compatible with your WordPress version and PHP environment. For Laravel integration, prefer plugins that expose REST APIs or webhooks to interact with your Laravel application seamlessly.
How do I secure WordPress when integrated with Laravel?
Hardening WordPress involves disabling unnecessary features (e.g., XML-RPC, file editing), updating plugins/themes regularly, and using security plugins like Wordfence. For Laravel, implement rate limiting, CSRF protection, and consider using a Web Application Firewall (WAF) like Cloudflare. Shared authentication (e.g., OAuth, JWT) can also reduce attack surfaces by centralizing user management.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
terminal42/code-quality-tools
codifyo/ts-generator-bundle
andydefer/laravel-cluster
testo/fiber
mintobit/jobqueue
a4sex/maintenance-bundle
a4sex/entity-date-update
a4sex/client-identifier
a4sex/base-utilites
a4sex/key-value-storage
a4sex/micro-status
chilldev/dependency-injection-extra
datinglibre/datinglibre-app-api
biberltd/corebundle
bricre/symfony-bundle-test
biberltd/logbundle
dominium/http-adapter-bundle
dominium/google-analytics
a4sex/auto-clean-entity
christhompsontldr/laravel-inky