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'