在Windows上使用wp-cli一键生成WP站点

时间:2017-09-09 作者:Robin Andrews

如果我在windows CMD中按顺序运行这些命令,我会很快创建并运行一个站点。

wp core download
wp core config --dbname=my_wp_database --dbuser=root --dbpass=my-db-password
wp core install --url=http://localhost/my-site-url --title="My WP Site" --admin_user=admin --admin_password=admin [email protected]
我很想用一键脚本让这变得更容易。

我的尝试如下。它“几乎”起作用,但结果站点上存在显示问题。

谁能给我一个调整过的版本,可以正常工作,并允许在网站名称中使用空格?

创建wp站点。命令:

@echo off
set sitename="My Lovely Site"
set dbname="my_db_name"
mkdir %sitename%
cd %sitename%
start /wait wp core download
call wp core config --dbname=%dbname% --dbuser=root --dbpass=my_db_password
call wp core install --url=http://localhost/%sitename% --title=%name% --admin_user=admin --admin_password=\'admin\' [email protected]
PS我知道这个问题和WP开发一样,都是关于Windows批处理脚本的,但我想这样的脚本对许多WP开发人员都有用,所以我在这里发布。

1 个回复
SO网友:hughc

这是我在XAMPP下的Windows上使用的脚本。它包括一个用于创建数据库的MySQL命令,以及一个通过在安装后直接对user 1(及其所有内容)进行微调来提高安全性的方法,从而生成一个干净的空数据库。

@echo off
set dbName="wp_yourdbname"
set dbPass="your_random_db_password"
set siteUrl="sitename.localdev.yourdomain.com"
set siteName="Kluwell"
set siteDesc=""
set adminUser="Second User Name"
set adminPass="admin_password"
set adminEmail="[email protected]"
:: these get nuked straight after install
set adminUserDummy="admin"
set adminUserDummyEmail="[email protected]"

SET /P AREYOUSURE=This will nuke the current site %siteUrl% and the DB %dbName%. Are you sure (Y/[N])?
IF /I "%AREYOUSURE%" NEQ "Y" GOTO END

REM SQL setup
mysql -u root -p -e "DROP USER IF EXISTS %dbName%@localhost;DROP DATABASE IF EXISTS %dbName%;CREATE USER %dbName%@localhost IDENTIFIED BY \'%dbPass%\';CREATE DATABASE IF NOT EXISTS %dbName%; GRANT ALL PRIVILEGES ON %dbName% . * TO %dbName%@localhost;exit;"

REM setup core
call wp core download
call wp core config --dbname=%dbName% --dbuser=%dbName% --dbpass=%dbPass%
call wp core install --url=%siteUrl% --title=%siteName% --admin_user=%adminUserDummy% --admin_password=%adminPass% --admin_email=%adminUserDummyEmail%

REM remove first user
call wp user create %adminUser% %adminEmail% --role=administrator --user_pass=%adminPass%
call wp user delete 1 --yes 
有效,尤其是如果您将通配符DNS条目设置为指向*.localdev.yourdomain.com127.0.0.1 和配置mod_vhost_alias 在Apache下,您可以从单个目录中为所有localdev站点提供服务,每个主机一个子目录,因此创建dave 等于的urldave.localhost.yourdomain.com

结束