feat: seed required wordpress plugins via wp-cli
This commit is contained in:
32
scripts/seed-plugins.sh
Executable file
32
scripts/seed-plugins.sh
Executable file
@@ -0,0 +1,32 @@
|
||||
#!/bin/sh
|
||||
set -eu
|
||||
PLUGINS_FILE=${PLUGINS_FILE:-/config/plugins.txt}
|
||||
WP_PATH=${WP_PATH:-/var/www/html}
|
||||
SLEEP=${SLEEP:-5}
|
||||
|
||||
if [ ! -f "$PLUGINS_FILE" ]; then
|
||||
echo "[seed-plugins] plugins file $PLUGINS_FILE not found, skipping"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# wait for WordPress to finish installing
|
||||
while ! wp core is-installed --path="$WP_PATH" --allow-root >/dev/null 2>&1; do
|
||||
echo "[seed-plugins] waiting for WordPress database..."
|
||||
sleep "$SLEEP"
|
||||
done
|
||||
|
||||
while IFS= read -r plugin || [ -n "$plugin" ]; do
|
||||
plugin=$(printf '%s' "$plugin" | tr -d '\r')
|
||||
case "$plugin" in
|
||||
''|\#*) continue ;;
|
||||
esac
|
||||
if wp plugin is-installed "$plugin" --path="$WP_PATH" --allow-root >/dev/null 2>&1; then
|
||||
echo "[seed-plugins] ensuring $plugin is active"
|
||||
wp plugin activate "$plugin" --path="$WP_PATH" --allow-root >/dev/null || true
|
||||
else
|
||||
echo "[seed-plugins] installing $plugin"
|
||||
wp plugin install "$plugin" --activate --path="$WP_PATH" --allow-root
|
||||
fi
|
||||
done < "$PLUGINS_FILE"
|
||||
|
||||
echo "[seed-plugins] complete"
|
||||
Reference in New Issue
Block a user