metabolism/wordpress-core-installer
Composer installer extension that adds type:wordpress-core support for installer-paths, enabling johnpbloch/wordpress-core to be installed into your chosen directory (e.g., web/edition/) instead of the default location.
johnpbloch/wordpress-core to automate WordPress core downloads into custom paths, leveraging Composer’s installer-paths.composer/installers (≥2.0) and johnpbloch/wordpress-core. No PHP/Laravel version constraints are documented, but compatibility should be validated.extra.installer-paths in composer.json, which is non-standard in Laravel. May conflict with Laravel’s default Composer setup (e.g., vendor/ exclusions).johnpbloch/wordpress-core (~10MB) and composer/installers (~500KB), increasing deployment size.installer-paths target overlaps with Laravel’s public/ or storage/ directories.composer update, which may conflict with Laravel’s autoloader or cached configurations..env exposure, plugin vulnerabilities).wp-config.php) coexist with Laravel’s public/ or storage/?config:clear, route:clear)?wp-cli or Laravel’s Artisan handle WordPress installs more cleanly?laravel/installer).johnpbloch/wordpress-core, which may introduce version conflicts with Laravel’s PHP requirements.composer require metabolism/wordpress-core-installer johnpbloch/wordpress-core composer/installers:^2.0
composer.json:
"extra": {
"installer-paths": {
"public/wordpress/": ["type:wordpress-core"]
}
}
wp-config.php for Laravel’s .env (e.g., DB credentials)./wp-admin to Laravel’s frontend if needed.filesystem to manage WordPress uploads (e.g., storage/app/public/wordpress_uploads).johnpbloch/wordpress-core targets PHP ≥7.2. Test with Laravel’s supported PHP (8.0+).bootstrap/cache/ or vendor/.johnpbloch/wordpress-core defaults to the latest stable WordPress. May need pinning for compatibility.public/wordpress/) doesn’t conflict with Laravel’s structure.composer install or composer update to trigger WordPress install.wp-config.php for Laravel’s environment./wp-admin vs. Laravel’s /admin).composer install to deployment scripts, but exclude WordPress updates in production unless intentional.composer update may break Laravel plugins or themes relying on specific PHP versions.wp-config.php changes (e.g., salts, DB settings) must sync with Laravel’s .env.bootstrap/cache/.johnpbloch/wordpress-core and composer/installers docs.wp-includes/) may bloat Laravel’s deployment size (~30MB+).config/cache.php)..htaccess or Nginx rules don’t conflict with Laravel’s routing.| Failure Point | Impact | Mitigation |
|---|---|---|
| Composer install failure | Broken WordPress install; Laravel unaffected. | Rollback via composer revert. |
| Path collision | Laravel files overwritten by WordPress (e.g., public/index.php). |
Use non-overlapping paths (e.g., public/wp/). |
| WordPress update corruption | PHP version mismatch breaks Laravel plugins. | Pin WordPress version in composer.json. |
| Database conflicts | WordPress and Laravel share the same DB (e.g., wp_options vs. Laravel’s migrations). |
Use separate databases or prefix WordPress tables. |
| Cache invalidation | WordPress update triggers Laravel cache corruption. | Add post-update Artisan commands to clear Laravel cache. |
wp-config.php, and test interop.public/wordpress/)..env ↔ wp-config.php sync process.installer-paths, WordPress’s wp-config.php, and Laravel’s filesystem conventions.How can I help you explore Laravel packages today?