关于 wordpress-setup
wordpress-setup 是用于连接 WordPress 站点并验证访问权限的技能,供后续内容管理和 Elementor 编辑使用。它指导通过 WP-CLI over SSH 或 REST API 配置连接,并保存站点配置。
主要功能
- 01检测并配置 WP-CLI
- 02通过 SSH 或 REST API 连接
- 03验证站点及内容访问
- 04保存可复用的站点配置
适用场景
- 01为远程 WordPress 站点建立连接
- 02确认页面内容和插件可访问
- 03为其他技能准备站点配置
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ jezweb/ claude-skills --skill wordpress-setup安装后在 Claude Code 中输入/wordpress-setup确认已加载。
附带文件references/wp-cli-essentials.md
详细介绍
WordPress 设置
连接到 WordPress 网站,并通过 WP-CLI 或 REST API 验证访问是否正常。生成已验证的连接配置,可用于内容管理和 Elementor 编辑。
工作流
第 1 步:检查 WP-CLI
wp --version
如果尚未安装,请引导用户:
# 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
另请确保 SSH 扩展可用(远程网站需要):
wp package install wp-cli/ssh-command
第 2 步:连接到网站
选项 A:通过 SSH 使用 WP-CLI(首选)
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 路径
先使用简单命令进行测试:
wp --ssh=user@host/path core version
选项 B:使用应用程序密码访问 REST API
如果无法使用 SSH:
- 前往
https://example.com/wp-admin/profile.php(或使用浏览器自动化) - 滚动到“应用程序密码”部分
- 输入名称(例如“Claude Code”),然后点击“添加新的应用程序密码”
- 复制生成的密码(空格属于密码的一部分,但进行身份验证时可以省略)
测试连接:
curl -s https://example.com/wp-json/wp/v2/posts?per_page=1 \
-u "username:xxxx xxxx xxxx xxxx xxxx xxxx" | jq '.[0].title'
第 3 步:存储凭据
对于 WP-CLI SSH — 在项目根目录中创建 wp-cli.yml:
ssh:
sitename:
cmd: ssh -o StrictHostKeyChecking=no %pseudotty% user@hostname %cmd%
url: /path/to/wordpress
然后使用:wp @sitename option get siteurl
对于 REST API — 存储在 .dev.vars 中:
WP_SITE_URL=https://example.com
WP_USERNAME=admin
WP_APP_PASSWORD=xxxx xxxx xxxx xxxx xxxx xxxx
确保 .dev.vars 已添加到 .gitignore。若要跨项目使用,请将其存储在你偏好的密钥管理器中(环境变量、1Password CLI 等)。
第 4 步:验证完整访问权限
运行全面检查:
# Site info
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
# Plugin status (check for Elementor)
wp @sitename plugin status elementor
# Theme info
wp @sitename theme status
第 5 步:保存网站配置
创建 wordpress.config.json,供其他技能引用:
{
"site": "example.com",
"siteUrl": "https://example.com",
"accessMethod": "ssh",
"sshAlias": "sitename",
"wpPath": "/path/to/wordpress",
"hasElementor": true,
"elementorVersion": "3.x.x"
}
关键模式
SSH 连接问题
| 症状 | 修复方法 |
|---|---|
Permission denied (publickey) | 检查 SSH 密钥:ssh -v user@host |
通过 SSH 执行时出现 wp: command not found | WP-CLI 不在远程 PATH 中 — 使用完整路径:/usr/local/bin/wp |
Error: This does not appear to be a WordPress installation | 路径错误 — 检查 wp-path 参数 |
| 大型操作超时 | 添加 --ssh=user@host/path --allow-root 或增加 SSH 超时时间 |
WP-CLI 别名
在 ~/.wp-cli/config.yml 中为常用网站定义别名:
@client1:
ssh: [email protected]/www/public
@client2:
ssh: [email protected]/www/client2/public
然后:wp @client1 post list
REST API 注意事项
- 应用程序密码需要 HTTPS(无法在 HTTP 上使用)
- 某些安全插件会拦截 REST API — 检查是否收到 401/403 响应
- 缓存插件可能会提供过期的 REST 响应 — 使用
?_=${timestamp}作为缓存清除参数 - 自定义文章类型需要设置
show_in_rest: true才会显示在 API 中
参考文件
references/wp-cli-essentials.md— SSH 别名模式、常用标志和故障排除
评论
支持 Markdown