Bedrock
Instalar Bedrock con Ddev
ddev config --project-type=wordpress --docroot=web --create-docroot
ddev composer create roots/bedrockAñadir variables a .env
DB_NAME='db'
DB_USER='db'
DB_PASSWORD='db'
DB_HOST='db'
WP_HOME="${DDEV_PRIMARY_URL}"
Después se inicia con ddev start y la web queda disponible en dominio.ddev.site
Plugins imprescindibles
"wpengine/advanced-custom-fields-pro": "*",
"wpackagist-plugin/fluentform": "*",
"wpackagist-plugin/simple-smtp": "*",
"wpackagist-plugin/woocommerce": "*",
"wpackagist-plugin/admin-site-enhancements": "*",
"wpackagist-plugin/wordpress-seo": "*",
"wpackagist-plugin/wordfence": "*",
"wpackagist-plugin/cookie-law-info": "*"Si usamos Sage/Radicle añadir también:
Navi
Acf-composer
Sage-directives
"log1x/acf-composer": "*",
"log1x/navi": "*",
"log1x/sage-directives": "*",Necesario añadir el siguiente repositorio para ACF
{
"type": "composer",
"url": "https://connect.advancedcustomfields.com"
}Y añadir credenciales dentro de auth.json
{
"http-basic": {
"connect.advancedcustomfields.com": {
"username": "b3JkZXJfaWQ9MzI1Mjd8dHlwZT1kZXZlbG9wZXJ8ZGF0ZT0yMDE0LTA3LTA3IDEzOjMxOjU1",
"password": "https://mysite.com"
},
"composer.freemius.com": {
"username": "[email protected]",
"password": "GJthtmaHVJO9qMYSMpytgxCryK_SB6q2gT3Rz-clJCw"
}
}
}
Bug
Actualmente hay un bug con Radicle y es necesario añadir la siguiente modificación al archivo
/public/content/mu-plugins/00-acorn-boot.phppara evitar problemas con los paquetes log1x.// https://github.com/roots/radicle/issues/14
// \Roots\bootloader()->boot();
add_action(‘after_setup_theme’, fn () => \Roots\bootloader()->boot());
Transformar Bedrock a Vanilla Wordpress
Script automatizado pero el siguiente paso a paso también es útil
Crear una carpeta e instalar ahí Vanilla Wordpress
mkdir vanillawp
cd vanillawp
wp core download
wp config create --dbname={vanilladb} --dbuser={vanilladbuser} --dbpass={vanilladbpass}Copiar app a wp-content
rsync -vrz {bedrock/web/app/} {vanillawp/wp-content}Quitar mu-plugins en desuso
- register-theme-directory.php
- bedrock-autoloader.php
- disallow-indexing.php
Exportar base de datos
wp db export //WP-CLI
ddev export-db -f dump.sql.gz //DDEVImportar base de datos vía wp-cli
wp db importReemplazar dominios y rutas en db
wp search-replace "url vieja" "url nueva"
wp search-replace "/app/" "/wp-content/"
wp option update home "https://urlnueva"
wp option update siteurl "https://urlnueva"Htaccess y document root
Cuando el hosting no permita cambiar el document root a /web podemos usar el siguiente .htaccess aunque no es lo más recomendable
RewriteEngine on
RewriteCond %{REQUEST_URI} !web/
RewriteRule ^(.*)$ /web/$1 [L]
Multisite
https://mikegarlick.dev/blog/bedrock-multisite-subfolder-subdomain/