#!/bin/bash
# wp-reinstall.sh
# Script to delete & reinstall all WordPress plugins and Flatsome theme via WP-CLI
# Check if path is provided
if [ -z "$1" ]; then
echo "Usage: $0 /path/to/wordpress"
exit 1
fi
WP_PATH="$1"
SCRIPT_PATH="$(cd "$(dirname "$0")" && pwd)" # Script directory
# Go to WordPress path
cd "$WP_PATH" || { echo "Invalid path: $WP_PATH"; exit 1; }
# Ensure WP-CLI works in this path
if ! wp core is-installed --path="$WP_PATH" > /dev/null 2>&1; then
echo "WordPress is not installed in $WP_PATH"
exit 1
fi
### PLUGINS ###
echo "Collecting plugin names..."
wp plugin list --field=name --path="$WP_PATH" > /tmp/all-plugins.txt
echo "Deleting all plugin files..."
rm -rf "$WP_PATH/wp-content/plugins/"*
echo "Reinstalling plugins..."
while read -r plugin; do
if [ -n "$plugin" ]; then
echo "Reinstalling $plugin ..."
wp plugin install "$plugin" --force --path="$WP_PATH"
fi
done < /tmp/all-plugins.txt
### THEMES ###
echo "Deleting Flatsome and Flatsome Child themes..."
rm -rf "$WP_PATH/wp-content/themes/flatsome"
rm -rf "$WP_PATH/wp-content/themes/flatsome-child"
echo "Reinstalling Flatsome from local zip..."
wp theme install "$SCRIPT_PATH/flatsome.zip" --force --path="$WP_PATH"
echo "Reinstalling Flatsome Child from local zip..."
wp theme install "$SCRIPT_PATH/flatsome-child.zip" --force --path="$WP_PATH"
echo "✅ Done! All plugins reinstalled and Flatsome themes replaced."