WP Setup Bak

zshrc Profil

Bash
# WP Setup
alias wpsetup='function _wpsetup() { 
  cd ~/Sites && mkdir "$1" && \
  cp _docker/wp-docker/{docker-compose.yml,php-config.ini,Dockerfile} "$1/" && \
  cd "$1" && docker-compose up -d --build
}; _wpsetup'

alias wpsetup-staging='function _wpsetup_staging() { 
  cd ~/Sites/wp-live-sites && mkdir "$1" && \
  cp ~/Sites/_docker/wp-docker/{docker-compose.yml,php-config.ini,Dockerfile} "$1/" && \
  cd "$1" && docker-compose up -d --build && \
  cd ~/Sites/wp-live-sites/"$1"
}; _wpsetup_staging'

alias wpinit='function _wpinit() {
   if [ ! -f "docker-compose.yml" ]; then
       echo "Fehler: Keine docker-compose.yml gefunden."
       return 1
   fi

   current_dir=$(basename "$PWD")
   echo "Initialisiere: $current_dir"

   rm -f wp-content/plugins/hello.php
   rm -rf wp-content/plugins/akismet
   rm -rf wp-content/themes/twentytwentyfive
   rm -rf wp-content/themes/twentytwentyfour
   rm -rf wp-content/themes/twentytwentythree
   rm -f license.txt wp-config-sample.php readme.html

   [ -d "$HOME/Sites/_docker/wp-docker/themes" ] && cp -r "$HOME/Sites/_docker/wp-docker/themes/"* wp-content/themes/
   [ -d "$HOME/Sites/_docker/wp-docker/plugins" ] && cp -r "$HOME/Sites/_docker/wp-docker/plugins/"* wp-content/plugins/

   sleep 5

   docker-compose exec -T wordpress wp core install --url=http://localhost:8080 --title="$current_dir" --admin_user=admin --admin_password=admin --admin_email=admin@admin.ch --skip-email
   docker-compose exec -T wordpress wp language core install de_DE
   docker-compose exec -T wordpress wp site switch-language de_DE
   docker-compose exec -T wordpress wp option update timezone_string "Europe/Zurich"
   docker-compose exec -T wordpress wp option update home "http://localhost:8080"
   docker-compose exec -T wordpress wp option update siteurl "http://localhost:8080"
   docker-compose exec -T wordpress wp rewrite structure "/%postname%/" --hard
   docker-compose exec -T wordpress wp option update default_comment_status closed
   docker-compose exec -T wordpress wp option update default_ping_status closed
   docker-compose exec -T wordpress wp option update date_format "j. F Y"
   docker-compose exec -T wordpress wp option update time_format "G:i"
   docker-compose exec -T wordpress wp option update uploads_use_yearmonth_folders 0
   docker-compose exec -T wordpress wp theme update --all
   docker-compose exec -T wordpress wp plugin update --all
   docker-compose exec -T wordpress wp core update
   docker-compose exec -T wordpress wp language core update
   docker-compose exec -T wordpress wp language plugin update --all
   docker-compose exec -T wordpress wp language theme update --all
   docker-compose exec -T wordpress wp plugin activate --all
   docker-compose exec -T wordpress wp theme activate gwbase
   docker-compose exec -T wordpress wp post create --post_type=page --post_title="Home" --post_status=publish
   docker-compose exec -T wordpress wp post create --post_type=page --post_title="Impressum" --post_status=publish
   docker-compose exec -T wordpress wp post create --post_type=page --post_title="Datenschutz" --post_status=publish

   docker-compose exec -T wordpress wp post delete 1 --force
   docker-compose exec -T wordpress wp post delete 2 --force
   docker-compose exec -T wordpress wp post delete 3 --force

   # Warte, bis der ai1wm-backups-Ordner existiert
   while [ ! -d "wp-content/ai1wm-backups" ]; do
       sleep 1
   done

   # Kopiere das Backup-File in den ai1wm-backups-Ordner
   cp "$HOME/Sites/_docker/wp-docker/_docker/wp-docker-starter.wpress" wp-content/ai1wm-backups/

   # Führe den Restore-Befehl aus
   docker-compose exec -T wordpress wp ai1wm restore _docker/wp-docker-starter.wpress

   echo "✓ Fertig!"
}; _wpinit'

alias wpinit-dev='function _wpinit_dev() {
   if [ ! -f "docker-compose.yml" ]; then
       echo "Fehler: Keine docker-compose.yml gefunden."
       return 1
   fi

   current_dir=$(basename "$PWD")
   echo "Initialisiere: $current_dir (Dev)"

   rm -f wp-content/plugins/hello.php
   rm -rf wp-content/plugins/akismet
   rm -rf wp-content/themes/twentytwentyfour
   rm -rf wp-content/themes/twentytwentythree
   rm -f license.txt wp-config-sample.php readme.html

   # Dev-spezifische Pfade
   local BASE_DIR="$HOME/Sites/_docker/wp-docker"
   local PROJECT="dev"

   # Themes, Plugins und Backup aus dem Dev-Ordner laden
   [ -d "$BASE_DIR/$PROJECT/themes" ] && cp -r "$BASE_DIR/$PROJECT/themes/"* wp-content/themes/
   [ -d "$BASE_DIR/$PROJECT/plugins" ] && cp -r "$BASE_DIR/$PROJECT/plugins/"* wp-content/plugins/

   sleep 5

   docker-compose exec -T wordpress wp core install --url=http://localhost:8080 --title="$current_dir" --admin_user=admin --admin_password=admin --admin_email=admin@admin.ch --skip-email
   docker-compose exec -T wordpress wp language core install de_DE
   docker-compose exec -T wordpress wp site switch-language de_DE
   docker-compose exec -T wordpress wp option update timezone_string "Europe/Zurich"
   docker-compose exec -T wordpress wp option update home "http://localhost:8080"
   docker-compose exec -T wordpress wp option update siteurl "http://localhost:8080"
   docker-compose exec -T wordpress wp rewrite structure "/%postname%/" --hard
   docker-compose exec -T wordpress wp option update default_comment_status closed
   docker-compose exec -T wordpress wp option update default_ping_status closed
   docker-compose exec -T wordpress wp option update date_format "j. F Y"
   docker-compose exec -T wordpress wp option update time_format "G:i"
   docker-compose exec -T wordpress wp option update uploads_use_yearmonth_folders 0
   docker-compose exec -T wordpress wp theme update --all
   docker-compose exec -T wordpress wp plugin update --all
   docker-compose exec -T wordpress wp core update
   docker-compose exec -T wordpress wp language core update
   docker-compose exec -T wordpress wp language plugin update --all
   docker-compose exec -T wordpress wp language theme update --all
   docker-compose exec -T wordpress wp plugin activate --all

   docker-compose exec -T wordpress wp post create --post_type=page --post_title="Home" --post_status=publish
   docker-compose exec -T wordpress wp post create --post_type=page --post_title="Impressum" --post_status=publish
   docker-compose exec -T wordpress wp post create --post_type=page --post_title="Datenschutz" --post_status=publish

   docker-compose exec -T wordpress wp post delete 1 --force
   docker-compose exec -T wordpress wp post delete 2 --force
   docker-compose exec -T wordpress wp post delete 3 --force

   # Warte, bis der ai1wm-backups-Ordner existiert
   while [ ! -d "wp-content/ai1wm-backups" ]; do
       sleep 1
   done

   # Kopiere das Dev-Backup-File in den ai1wm-backups-Ordner
   cp "$BASE_DIR/$PROJECT/$PROJECT.wpress" wp-content/ai1wm-backups/

   # Führe den Restore-Befehl aus
   docker-compose exec -T wordpress bash -c "echo y | wp ai1wm restore $PROJECT.wpress"

   echo "✓ Fertig!"
}; _wpinit_dev'