Setup
本页描述了我们在 Yoast 设置开发环境的过程。
本指南假设您使用 Mac OSX 和 PHP 7.4+ 环境。
开始之前
在开始为 Yoast 插件做贡献之前,请确保您已查阅我们的开发工具页面,其中列出了需要使用的各种工具(除非另有说明)。
项目组织建议
通常我们建议创建一个 ~/Projects/Yoast 文件夹来集中管理所有内容。
请勿在 ~/Documents、~/Desktop 或 ~/Downloads 目录下创建 Yoast 文件夹,否则在使用 plugin-development-docker 等容器化环境时可能引发错误。
创建该文件夹后,您有两种选择:
- 按环境逐个克隆插件,这样可以在系统中保留同一插件的多个版本,避免(可能的)冲突。
- 将所有插件克隆到单一目录,并通过符号链接关联到各开发环境。这样所有关联的开发环境都将运行相同版本(分支)的插件。
通常更推荐使用符号链接方案,因为单一数据源能降低操作失误的风险。
按环境逐个克隆插件
如果您选择使用 Local 作为开发环境,可以按照以下步骤将插件克隆到 Local 站点的插件目录中。
这些步骤假设您已经安装了 Local,并在其中设置了用于插件开发的站点。
在 Mac 上
- 将您想要开发的插件克隆到
~/Applications/Local\ Sites/<site-name>/app/public/wp-contents/plugins目录下,其中<site-name>是您想用于插件开发的 Local 站点名称。
将插件克隆到单一目录并创建符号链接
如果您使用 Local 作为首选开发环境,可以按照以下步骤将插件克隆到独立目录,并创建指向 Local 站点插件目录的符号链接。
在 Mac 上
- 将你想要开发的插件克隆到一个选定的文件夹中。
- 将此文件夹创建符号链接到
~/Applications/Local\ Sites/<site-name>/app/public/wp-contents/plugins文件夹,其中<site-name>是你想用于插件开发的 Local 站点名称。
设置 PHPUnit
在 PhpStorm 中启用 PHPUnit
在 PhpStorm 中完成设置,请遵循以下步骤:
- 在 PhpStorm 的
Run菜单下,转到Edit configurations。 - 在接下来的窗口中,点击左上角的
+号,并在选项中选择 PHPUnit。 - 选择选项:
Defined in the configuration file,并勾选Use alternative configuration file的复选框。 - 在复选框后面,输入
phpunit.xml.dist文件的完整路径。该文件位于插件目录中。如果代码库包含phpunit.xml文件,请改用该文件。(例如,wordpress-seo有两种类型的测试。对于“旧版”集成测试,使用phpunit-integration.xml.dist;对于 BrainMonkey 测试,使用phpunit.xml.dist。) - 输入路径后,点击最右侧的图标。这将带你进入
Test frameworks窗口。 - 点击加号图标并选择第一个选项:
PHPUnit Local。选择Use Composer autoloader,这将自动填充Path to script为一个以/vendor/autoload.php结尾的路径。此选择将提示 PhpStorm 使用通过 Composer 获取的版本。 - 最后,当你返回到
Run/Debug configurations窗口时,底部可能会出现一条错误信息。点击旁边的Fix按钮,并选择 PHP 作为你的 CLI 解释器。应用并完成!
配置 PHPUnit 以配合 WordPress 和插件工作
为确保单元测试能够正常运行,您需要添加以下两个常量:
WP_DEVELOP_DIR- 指向您系统中wordpress-develop仓库的克隆路径。WP_PLUGIN_DIR- 指向 WordPress 插件所在的目录。
示例:
WP_DEVELOP_DIR=/Users/<your name>/Projects/WordPress/wordpress-develop/
WP_PLUGIN_DIR=/Users/<your name>/Projects/Yoast
请注意 WP_DEVELOP_DIR 末尾的斜杠,而 WP_PLUGIN_DIR 则没有。
如果您已将 WP_DEVELOP_DIR 和 WP_PLUGIN_DIR 设置为环境变量,可以跳过以下部分。
在 PhpStorm 中配置 PHPUnit:转到 编辑配置... -> PHPUnit,并确保配置与以下截图类似:
运行多站点测试
我们部分插件包含仅在多站点环境下运行的测试。要执行这些测试,请选择您的 PHPUnit 配置,并在设置界面的命令行部分添加值为 1 的 WP_MULTISITE 参数。
安装插件
现在开始安装插件。首先,如果你还没有操作,请在 /plugins/ 文件夹中克隆 wordpress-seo 仓库。
然后,在你克隆仓库的目录中运行以下命令:
- 运行
composer install以确保安装所有 PHP 依赖项。 - 运行
nvm use来设置正确的 Node 版本。 - 运行
yarn来安装 JavaScript 依赖项。 - 运行
grunt build来手动构建 JavaScript(和 CSS)。
之后,你可以运行 yarn start 来监听变更并自动构建 JavaScript。
其他插件
我们还提供了其他几个插件。所有公开可访问的代码库都可以在 GitHub 上找到。
启用可索引化索引
- 安装 Yoast 测试助手插件。
- 在 Yoast 测试助手的设置中启用“开发模式”。这将在开发站点上启用可索引化索引功能。
为测试生成模拟数据
您可以使用 Yoast WP CLI Faker 来生成模拟数据,例如文章、分类和用户。
- 利用 Local by Flywheel 中的 打开站点 Shell 按钮。
- 按照 作为 WordPress 包安装 的说明 来获取该包。
- 按照 核心 说明 来生成模拟数据。
- 注意,对于多站点,您可以使用
--url=<url>参数来定位特定的子站点。
- 注意,对于多站点,您可以使用
- 可选:按照 WooCommerce 说明 为 WooCommerce 生成模拟数据。
- 要退出 Shell,请使用
exit。
接下来做什么?
克隆仓库后,你可以在浏览器中访问 basic.wordpress.test 查看开发环境。在 IDE 中打开插件目录,就可以开始开发了!