GeneratePress Pro über WP-CLI installieren und konfigurieren

Mit WP-CLI bietet WordPress ein Command Line Interface, wodurch WordPress sich über die Kommandozeile bedienen und teilweise automatisieren lässt.

Nachfolgend ein Skript, das ich gerne nutze, um eine neue Seite mit GeneratePress inkl. GeneratePress Pro aufzusetzen. Dabei wird auch der Lizenz-Key sowie alle in GeneratePress enthaltenen Module aktiviert.

Zunächst definiere ich die Variable SITE, die den zukünftigen Projektnamen enthält:

SITE="my-example-gp-project"

Anschließend wechsle ich in mein Verzeichnis, in dem alle Web-Projekte liegen. Als Basis dafür nutze ich übrigens Laravel Valet. Nachdem in das Verzeichnis gewechselt wurde, wird ein etwaig vorhandenes Verzeichnis mit gleichem Namen gelöscht (ACHTUNG!):

cd /Users/sebastian/webdev
rm -r -f $SITE

Nun wird WordPress heruntergeladen und installiert. Dann wird der Debug-Modus sowie das Debug-Log aktiviert. Anschließend wird eine Datenbank mit selbigem Namen geleert, sofern vorhanden (ACHTUNG!):

wp core download --locale=de_DE --path=$SITE
cd $SITE
wp config create --dbname=$SITE --dbuser=root --locale=de_DE --extra-php <<PHP
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
PHP
wp db reset --yes
wp core install --url=$SITE.test --title=$SITE --admin_user=admin --admin_password=password --admin_email=contact@example.com

Nun wird GeneratePress inkl. GeneratePress Pro installiert. Für GeneratePress Pro nutze ich SatisPress, ein WordPress Plugin, das mir ein Repository für Premium Plugins und Themes zur Verfügung stellt. Natürlich kann man GeneratePress Pro auch manuell installieren, möchtest du ebenfalls SatisPress nutzen, musst du die example.com-URL im Aufruf unten entsprechend anpassen:

wp theme install generatepress
wp theme activate generatepress
wp plugin install generateblocks --activate
wp plugin install https://example.com/satispress/gp-premium/latest --activate

Anschließend wird GeneratePress Pro aktiviert (YOUR_LICENSE_KEY ersetzen) und die verschiedenen Module aktiviert:

wp option update gen_premium_license_key YOUR_LICENSE_KEY
wp option update gen_premium_license_key_status valid
wp option update generate_package_backgrounds 'activated'
wp option update generate_package_blog 'activated'
wp option update generate_package_copyright 'activated'
wp option update generate_package_disable_elements 'activated'
wp option update generate_package_elements 'activated'
wp option update generate_package_menu_plus 'activated'
wp option update generate_package_secondary_nav 'activated'
wp option update generate_package_spacing 'activated'
wp option update generate_package_woocommerce 'activated'
wp option update generate_package_site_library 'activated'

Zuletzt wird WordPress noch ein wenig aufgeräumt, die Default-Themes entfernt sowie das Akismet- und Hello-Plugin deinstalliert:

wp theme delete twentyseventeen
wp theme delete twentynineteen
wp plugin uninstall akismet
wp plugin uninstall hello

Im letzten Schritt wird WordPress sowie alle Plugins aktualisiert sowie ggf. vorhandene Übersetzungsdaten geladen:

wp core update && wp plugin update --all && wp core language update

Das komplette Script

Das komplette Script sieht letztendlich wie folgt aus:

SITE="my-example-gp-project"
cd /Users/sebastian/webdev
rm -r -f $SITE
wp core download --locale=de_DE --path=$SITE
cd $SITE
wp config create --dbname=$SITE --dbuser=root --locale=de_DE --extra-php <<PHP
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
PHP
wp db reset --yes
wp core install --url=$SITE.test --title=$SITE --admin_user=admin --admin_password=password --admin_email=contact@example.com
wp theme install generatepress
wp theme activate generatepress
wp plugin install generateblocks --activate
wp plugin install https://example.com/satispress/gp-premium/latest --activate
wp option update gen_premium_license_key YOUR_LICENSE_KEY
wp option update gen_premium_license_key_status valid
wp option update generate_package_backgrounds 'activated'
wp option update generate_package_blog 'activated'
wp option update generate_package_copyright 'activated'
wp option update generate_package_disable_elements 'activated'
wp option update generate_package_elements 'activated'
wp option update generate_package_menu_plus 'activated'
wp option update generate_package_secondary_nav 'activated'
wp option update generate_package_spacing 'activated'
wp option update generate_package_woocommerce 'activated'
wp option update generate_package_site_library 'activated'
wp theme delete twentyseventeen
wp theme delete twentynineteen
wp plugin uninstall akismet
wp plugin uninstall hello
wp core update && wp plugin update --all && wp core language update

Schreibe einen Kommentar