cloak-labs/cloakwp-bedrock

为CloakWP项目提供的无头WordPress样板,具有现代开发工具、易于配置和改进的WP文件夹结构。

1.0.2 2023-08-01 17:12 UTC

This package is auto-updated.

Last update: 2024-09-27 18:47:34 UTC


README

这是CloakWP(无头WordPress)项目的官方WordPress样板。这是一种有见地的、现代的WordPress开发方法。然而,它不是CloakWP堆栈的必需品——您可以选择退出并使用自己首选的WordPress开发堆栈,同时仍然利用其他CloakWP工具。

这种有见地的启动器利用了许多现代WordPress开发工具

  • Bedrock - 一个流行的WordPress样板,具有Composer、易于配置和改进的文件夹结构,使得
    • 每个环境的独立配置
    • 环境变量
    • 自定义wp-content目录
    • Composer(PHP依赖管理器)用于管理WordPress核心、插件和主题的安装——通过Git实现更好的版本控制
    • mu-plugins自动加载器
    • 增强的WordPress安全性(文件夹结构限制了对非公共文件的访问,并通过wp-password-bcrypt提供更安全的密码)
    • 将WordPress 80%转变为合适的Twelve-Factor App
  • Spinup Local WP - CloakWP团队另一个NPM包,作为Docker + Docker Compose的简单抽象层,使您在开发过程中无需任何努力即可快速在本地启动WordPress网站。它包括以下内容
    • PHP 8.2,
    • Nginx服务器,
    • MariaDB(流行的MySQL分支),
    • WP-CLI - WordPress的命令行界面,
    • PhpMyAdmin - MySQL和MariaDB的开源管理工具
    • MailHog - 开发者电子邮件测试工具——配置您的出站SMTP服务器并在Web UI中查看您的出站电子邮件。
  • 预安装了一些有见地的WordPress插件,以增强/改进无头WordPress体验,显然包括CloakWP插件和主题,以及一个生产就绪的子主题,其中包含与CPT、分类法、ACF块和ACF字段组注册/配置相关的各种好东西,以最佳实践的方式学习您会喜欢的。

要求

  • Composer
  • PHP >= 8.0
  • Docker + Docker Compose + Docker Desktop
  • PNPM
  • Node.js

安装

进入您希望安装的目录并运行

composer create-project cloak-labs/cloakwp-bedrock

然后运行

cd cloakwp-bedrock

然后

npm install

... 这将安装 Spinup Local WP

可选地运行以下命令以将您的插件/主题更新到最新版本

npm run composer update

配置

环境变量上面的Composer安装命令将自动将`.env.example`文件复制到`.env`文件,您现在可以编辑该文件。
  • 请确保为每个项目修改APP_NAME变量,以避免出现冲突的Docker容器。
  • 如果下面详细说明的"run"命令不起作用,您可能需要修改VOLUME_WORDPRESS_PATH。此变量必须指向您的WordPress安装文件夹,相对于spinup-local-wp节点包根目录的安装位置;它应该与NPM一起工作(NPM将包安装在不同的位置),但不与PNPM一起工作。
  • 可选地调整DB_NAMEDB_USERDB_PASSWORD变量,以提高安全性并使其与您的生产环境相匹配。
  • 修改.env.local以覆盖.env中的任何生产变量,用于本地开发目的。默认情况下,它被配置为覆盖所需的覆盖,例如通过MY_FRONTEND_URL变量将您的解耦前端的生产URL覆盖为https://:5000

注意:.env默认情况下被git忽略,您可能希望保持这种方式以保持生产值安全/保密。因此,请记住手动将您的.env文件添加到您的生产服务器环境中,或构建自己的解决方案来自动化该操作(这可能是未来指南的主题)。

ACF Pro

强烈建议您在此处购买Advanced Custom Fields (ACF) Pro许可证这里。ACF Pro启用了大多数无头网站所需的内容建模功能,例如ACF块、重复字段、选项页面、画廊字段等。

通过Composer安装ACF Pro需要额外几个步骤,因为他们需要验证您的许可证

  1. 按照这篇文章操作,在CloakWP Bedrock根目录下创建一个包含您的许可证密钥的auth.json文件(即与composer.json位于同一位置)
  2. 打开Docker桌面应用程序
  3. 从CloakWP Bedrock根目录运行以下命令
npm run composer require wpengine/advanced-custom-fields-pro
JWT身份验证我们使用[JWT身份验证WP-API](https://wordpresstheme.cn/plugins/jwt-authentication-for-wp-rest-api/)插件来使用JSON Web Tokens (JWTs)进行受保护API路由的认证,例如在预览模式下从您的解耦前端请求帖子修订时。

CloakWP Bedrock已为您预先配置了一切,您只需创建您的令牌即可

  1. 运行项目(见下文),
  2. 向以下端点发送POST请求,将WP_USERNAME + WP_PASSWORD替换为您自己的WordPress登录凭据(不确定如何操作?尝试Insomnia桌面应用程序,它对于在整个无头项目生命周期中测试/保存REST API请求非常有用)。
https:///wp-json/jwt-auth/v1/token?username=WP_USERNAME&password=WP_PASSWORD
  1. 复制POST请求返回的token值,并在您的解耦前端的.env.local文件中创建一个环境变量来存储它(您将传递此ENV变量到前端中的cloakwp.config.jscreateWPInstance()内)。

运行

确保在运行下面的dev命令之前打开Docker桌面应用程序

npm run dev

这会运行docker-compose up,Docker Compose现在将启动所有服务

Starting {APP_NAME}-mysql    ... done
Starting {APP_NAME}-composer ... done
Starting {APP_NAME}-phpmyadmin ... done
Starting {APP_NAME}-wordpress  ... done
Starting {APP_NAME}-nginx      ... done
Starting {APP_NAME}-mailhog    ... done

🚀 在浏览器中打开https:///wp以开始使用WordPress!您的数据将在会话之间持久化。

PhpMyAdmin

PhpMyAdmin作为docker-compose中的服务安装。

🚀 在浏览器中打开http://127.0.0.1:8082/以登录和管理您的本地数据库。

MailHog

MailHog作为docker-compose中的服务安装。

🚀 在浏览器中打开http://0.0.0.0:8025/

CLI工具

了解更多有关通过Spinup Local WP包提供给您的CLI工具,例如使用WP-CLI、Composer添加/删除/更新插件和主题,或运行Docker命令的信息。