Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save thinkstylestudio/53f30a12cb78116c7dedfb519fdfd346 to your computer and use it in GitHub Desktop.
Save thinkstylestudio/53f30a12cb78116c7dedfb519fdfd346 to your computer and use it in GitHub Desktop.
Bulk-upgrade WordPress plugins using WP-CLI, committing each upgrade to Git as we go
#! /bin/bash
# Find available updates for WordPress plugins via WP-CLI, then upgrade theme one at a time.
# After each upgrade, commit the changed files to Git.
#
# Requires that WP-CLI be installed and in your path: http://wp-cli.org/
#
# Currently, it will only work when run from the root of the WordPress installation, and has
# a hard-coded path for wp-content/plugins.
#
# Forgive the *awful* bash scripting, it could certainly use work :)
function wp-upgrade-plugins() {
UPDATES=`wp plugin list --update=available --fields=name,title,update_version --format=csv`
i=1
while IFS="," read -r slug name version
do
# Output from `wp plugin list` includes headers - this will skip them
test $i -eq 1 && ((i=i+1)) && continue
echo "Upgrading $name to $version..."
wp plugin update $slug &&
git add -A wp-content/plugins/$slug &&
git commit -m "Upgraded $name to $version"
done <<< "$UPDATES"
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment