wordpress-setup
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseWordPress Setup
WordPress 站点配置
Connect to a WordPress site and verify working access via WP-CLI or REST API. Produces a verified connection config ready for content management and Elementor editing.
通过WP-CLI或REST API连接WordPress站点并验证可用访问权限,生成可用于内容管理和Elementor编辑的已验证连接配置。
Workflow
工作流程
Step 1: Check WP-CLI
步骤1:检查WP-CLI
bash
wp --versionIf not installed, guide the user:
bash
undefinedbash
wp --version如果未安装,引导用户执行以下命令:
bash
undefinedmacOS/Linux
macOS/Linux
curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
chmod +x wp-cli.phar
sudo mv wp-cli.phar /usr/local/bin/wp
Also ensure the SSH extension is available (needed for remote sites):
```bash
wp package install wp-cli/ssh-commandcurl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
chmod +x wp-cli.phar
sudo mv wp-cli.phar /usr/local/bin/wp
同时确保SSH扩展可用(远程站点需要):
```bash
wp package install wp-cli/ssh-commandStep 2: Connect to the Site
步骤2:连接站点
Option A: WP-CLI over SSH (preferred)
bash
wp --ssh=user@hostname/path/to/wordpress option get siteurlCommon patterns:
- Rocket.net:
wp --ssh=user@hostname/www/sitename/public option get siteurl - cPanel:
wp --ssh=user@hostname/public_html option get siteurl - Custom: Ask user for SSH user, host, and WordPress path
Test with a simple command first:
bash
wp --ssh=user@host/path core versionOption B: REST API with Application Password
If SSH isn't available:
- Navigate to (or use browser automation)
https://example.com/wp-admin/profile.php - Scroll to "Application Passwords" section
- Enter a name (e.g. "Claude Code") and click "Add New Application Password"
- Copy the generated password (spaces are part of it but optional in auth)
Test the connection:
bash
curl -s https://example.com/wp-json/wp/v2/posts?per_page=1 \
-u "username:xxxx xxxx xxxx xxxx xxxx xxxx" | jq '.[0].title'选项A:通过SSH使用WP-CLI(推荐)
bash
wp --ssh=user@hostname/path/to/wordpress option get siteurl常见路径模式:
- Rocket.net:
wp --ssh=user@hostname/www/sitename/public option get siteurl - cPanel:
wp --ssh=user@hostname/public_html option get siteurl - 自定义: 询问用户SSH用户名、主机地址和WordPress路径
先使用简单命令测试连接:
bash
wp --ssh=user@host/path core version选项B:使用应用密码通过REST API连接
如果SSH不可用:
- 访问(或使用浏览器自动化工具)
https://example.com/wp-admin/profile.php - 滚动到“应用密码”区域
- 输入名称(例如“Claude Code”)并点击“添加新应用密码”
- 复制生成的密码(空格是密码的一部分,但在身份验证中可省略)
测试连接:
bash
curl -s https://example.com/wp-json/wp/v2/posts?per_page=1 \
-u "username:xxxx xxxx xxxx xxxx xxxx xxxx" | jq '.[0].title'Step 3: Store Credentials
步骤3:存储凭据
For WP-CLI SSH — create a in the project root:
wp-cli.ymlyaml
ssh:
sitename:
cmd: ssh -o StrictHostKeyChecking=no %pseudotty% user@hostname %cmd%
url: /path/to/wordpressThen use:
wp @sitename option get siteurlFor REST API — store in :
.dev.varsWP_SITE_URL=https://example.com
WP_USERNAME=admin
WP_APP_PASSWORD=xxxx xxxx xxxx xxxx xxxx xxxxEnsure is in . For cross-project use, store in Vault:
.dev.vars.gitignoreUse mcp__vault__secret_set with:
name: "wordpress-{sitename}-credentials"
value: JSON with url, username, app_password
tags: ["wordpress", "api"]对于WP-CLI SSH连接 — 在项目根目录创建文件:
wp-cli.ymlyaml
ssh:
sitename:
cmd: ssh -o StrictHostKeyChecking=no %pseudotty% user@hostname %cmd%
url: /path/to/wordpress之后可使用:
wp @sitename option get siteurl对于REST API连接 — 将凭据存储在文件中:
.dev.varsWP_SITE_URL=https://example.com
WP_USERNAME=admin
WP_APP_PASSWORD=xxxx xxxx xxxx xxxx xxxx xxxx确保已添加到中。如需跨项目使用,可存储在Vault中:
.dev.vars.gitignore使用mcp__vault__secret_set命令,参数如下:
name: "wordpress-{sitename}-credentials"
value: 包含url、username、app_password的JSON数据
tags: ["wordpress", "api"]Step 4: Verify Full Access
步骤4:验证完整访问权限
Run a comprehensive check:
bash
undefined运行全面检查命令:
bash
undefinedSite info
站点信息
wp @sitename option get siteurl
wp @sitename option get blogname
wp @sitename option get siteurl
wp @sitename option get blogname
Content access
内容访问
wp @sitename post list --post_type=page --posts_per_page=5 --fields=ID,post_title,post_status
wp @sitename post list --post_type=page --posts_per_page=5 --fields=ID,post_title,post_status
Plugin status (check for Elementor)
插件状态(检查Elementor)
wp @sitename plugin status elementor
wp @sitename plugin status elementor
Theme info
主题信息
wp @sitename theme status
undefinedwp @sitename theme status
undefinedStep 5: Save Site Config
步骤5:保存站点配置
Create for other skills to reference:
wordpress.config.jsonjson
{
"site": "example.com",
"siteUrl": "https://example.com",
"accessMethod": "ssh",
"sshAlias": "sitename",
"wpPath": "/path/to/wordpress",
"hasElementor": true,
"elementorVersion": "3.x.x"
}创建文件,供其他技能引用:
wordpress.config.jsonjson
{
"site": "example.com",
"siteUrl": "https://example.com",
"accessMethod": "ssh",
"sshAlias": "sitename",
"wpPath": "/path/to/wordpress",
"hasElementor": true,
"elementorVersion": "3.x.x"
}Critical Patterns
关键模式
SSH Connection Issues
SSH连接问题排查
| Symptom | Fix |
|---|---|
| Check SSH key: |
| WP-CLI not in remote PATH — use full path: |
| Wrong path — check |
| Timeout on large operations | Add |
| 症状 | 解决方法 |
|---|---|
| 检查SSH密钥: |
通过SSH执行时提示 | WP-CLI不在远程服务器PATH中 — 使用完整路径: |
| 路径错误 — 检查 |
| 大型操作时超时 | 添加 |
WP-CLI Aliases
WP-CLI别名
Define aliases in for frequently-accessed sites:
~/.wp-cli/config.ymlyaml
@client1:
ssh: user@client1.example.com/www/public
@client2:
ssh: user@client2.rocketcdn.me/www/client2/publicThen:
wp @client1 post list在中定义常用站点的别名:
~/.wp-cli/config.ymlyaml
@client1:
ssh: user@client1.example.com/www/public
@client2:
ssh: user@client2.rocketcdn.me/www/client2/public之后可使用:
wp @client1 post listREST API Gotchas
REST API注意事项
- Application passwords require HTTPS (won't work on HTTP)
- Some security plugins block REST API — check for 401/403 responses
- Caching plugins may serve stale REST responses — use cache buster
?_=${timestamp} - Custom post types need to appear in API
show_in_rest: true
- 应用密码需要HTTPS环境(在HTTP环境下无法使用)
- 部分安全插件会拦截REST API — 检查是否返回401/403状态码
- 缓存插件可能返回过期的REST响应 — 使用参数清除缓存
?_=${timestamp} - 自定义文章类型需要设置才能在API中显示
show_in_rest: true
Reference Files
参考文件
- — SSH alias patterns, common flags, and troubleshooting
references/wp-cli-essentials.md
- — SSH别名模式、常用参数及故障排查指南
references/wp-cli-essentials.md