如果您只管理少数几个站点,并且对命令行很熟悉,那么您可能需要wp-cli. 只需编写一点脚本,您就可以通过SSH连接到远程服务器并执行各种操作,如:
启用插件:
wp plugin activate acf-pro gravityforms wordpress-seo
检查版本、激活和更新可用性:
wp plugin status
更新所有插件,可以选择先进行试运行:
wp plugin update --all --dry-run
更新所有主题:
wp theme update
wp cli支持的所有其他功能包括:
备份数据库:
wp db backup ../data-backup-directoy
调整帖子:
wp post update 6 --post_author=1
添加或编辑用户:
wp user create sally [email protected] --role=subscriber
更新选项:
wp option update siteurl http://foobar.com
我用它和一些bash脚本管理我的大多数站点,这些脚本由ssh-in、do-stuff、report-back组成。下面是一个脚本,我用它备份远程站点的数据库,拉下一个副本,将其加载到我的本地实例中,以及只进行反应式开发的插件(在实时站点上禁用,natch):
#!/bin/bash
DATE=`date +%Y-%m-%d-%H%M`
# Backup the local db, just in case. Note that /data/local/* is .gitignored
wp db export ../data/local/$DATE.sql
# export live
ssh [email protected] "cd /path/to/wordpress/; wp db export /path/to/site/data/live-dump-$DATE.sql"
# pull it down
scp -Cp [email protected]:/path/to/site/data/live-dump-$DATE.sql /path/to/local/data/live-dump.sql
#import it
wp db import /path/to/local/data/live-dump.sql
# reactive local developer centric plugins
wp plugin activate debug-bar console debug-this debug-bar-extender debug-bar-hook-log
wp cli是WordPress的boss模式。它甚至有
tab completion 在命令行上。:)
HumanMade是working on some code 让远程管理成为一等公民,但已经有几年没有人接触过它了。我发现使用ssh、手动运行命令或编写一点脚本就是我真正需要的。