WordPress

WordPress 中如何启用应用程序密码(Application Password)

波比AI · 1月27日 · 2026年 本文共1299个字 · 预计阅读5分钟 45次已读

应用程序密码(Application Password)是 WordPress 从 5.6 起引入的一项功能,它允许第三方服务(如 n8n、Zapier)通过 REST API 安全访问 WordPress,而无需暴露真实账户密码。

遇到的这个问题是 WordPress 安全机制的一部分。以下是几种解决方案:

方案一:配置开发环境(推荐)

wp-config.php文件中的 /* 好了!请不要再继续编辑。请保存本文件。使用愉快! */这行之前添加:

// 启用开发环境
define('WP_ENVIRONMENT_TYPE', 'development');

// 或者使用(两者选一)
define('WP_ENVIRONMENT_TYPE', 'local');

方案二:强制启用应用程序密码

在主题的 functions.php文件或自定义插件中添加:

// 强制启用应用程序密码,即使没有HTTPS
add_filter('wp_is_application_passwords_available', '__return_true');

方案三:使用过滤器绕过HTTPS检查

// 更全面的解决方案
add_filter('wp_is_application_passwords_available_for_user', function($available, $user) {
    return true;
}, 10, 2);

方案四:为开发站配置HTTPS

使用本地证书:

  1. 使用 mkcert(推荐): bashbash复制# 安装 mkcert brew install mkcert # macOS # 或 sudo apt install mkcert # Ubuntu # 生成本地CA mkcert -install # 为本地域名生成证书 mkcert example.test
  2. 配置虚拟主机使用HTTPS

使用 Laravel Valet 或 Local by Flywheel:

这些工具会自动处理HTTPS。

方案五:修改 WordPress 核心检查(不推荐)

wp-config.php中添加:

// 禁用SSL验证(仅开发环境使用!)
define('FORCE_SSL_ADMIN', false);
// 允许不安全的REST API请求
$_SERVER['HTTPS'] = 'on'; // 有时可以绕过检查

最佳实践建议:

  1. 开发环境:使用方案一 + 方案二
  2. 本地开发:建议实际设置HTTPS(方案四),更接近生产环境
  3. 临时测试:使用方案二最快

验证是否生效:

  1. 添加代码后,重新登录WordPress后台
  2. 进入 用户 → 个人资料
  3. 页面底部应该出现”应用程序密码”区域
  4. 生成密码后,可以通过REST API测试: bashbash复制curl --user "用户名:生成的应用程序密码" http://yoursite.com/wp-json/wp/v2/posts

安全警告:

⚠️ 重要:这些设置只应在开发或本地环境中使用。部署到生产环境前,请:

  1. 确保网站已启用HTTPS
  2. 移除或禁用上述开发配置
  3. wp-config.php中设置: phpphp复制define('WP_ENVIRONMENT_TYPE', 'production');

选择最适合您开发环境的方案即可快速解决问题。

0 条回应

必须 注册 为本站用户, 登录 后才可以发表评论!