#! /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" }