scottjs/wp-boilerplate

一个空的WordPress模板文件夹结构,包含初始的composer包。

1.2.0 2017-02-03 23:19 UTC

This package is not auto-updated.

Last update: 2024-09-15 00:52:09 UTC


README

WP Boilerplate是一个空白的、无主题的WordPress文件夹结构,我们在开发环境中常用它来保持项目一致性。它包含一系列composer包,可以快速同步数据库,安全地进行查找/替换,并启用非版本化上传,从生产服务器加载。

免责声明:这个模板最初是为我们开发团队内部使用而创建的,以便加快常见、重复性任务的执行速度。但是,它们可能对其他人有所帮助。您可以在自己的项目中自由使用,效果可能因项目而异。

要求

  • Composer
  • PHP >= 5.3.9
  • 本地开发环境,例如Vagrant。

注意事项

  • 这个模板的配置灵感来源于Laravel 5的dotenv机制,使用.env文件。
  • 此配置已设计在Vagrant环境中使用,只要项目有自己的主机条目/vhost,并且没有作为子域安装设置,它可能在其他环境中工作。
  • 类似于Laravel和其他框架,WordPress文件存储在public目录中,并且该目录应设置为项目的文档根。
  • 确保您已经为项目配置了主机条目。

配套包

此存储库预先加载以下composer包,以提供此模板的额外功能

  • scottjs/wp-dotenv - 允许WordPress使用dotenv配置文件。
  • scottjs/db-sync - 脚本来快速同步远程数据库到本地数据库,以及安全的搜索/替换。
  • scottjs/helper-scripts - 其他辅助脚本,用于执行常见任务,例如允许远程上传加载本地。

安装

  1. 下载/解压此存储库的副本到本地环境可访问的位置。
  2. 复制、粘贴并将.env-sample重命名为.env
  3. 根据需要更新.env配置选项。
  4. 在您的环境终端中,浏览到项目根目录,例如cd /var/www/<project-name>
  5. 运行composer install以下载配套包并安装WP核心。
  6. 运行composer generate-configcomposer generate-config-with-salts以创建一个修改后的WordPress配置文件,该文件使用.env配置文件。
  7. 在浏览器中访问项目,并继续正常设置本地数据库。
  8. 安装或构建您的主题并开始开发。

使用方法

为了使用上述配套包的功能,已经在composer.json文件中添加了以下composer命令

  • composer generate-config - 所有配套包都依赖于.env文件来获取配置。此命令将生成一个修改后的wp-config.php文件,允许WordPress也使用.env文件,避免了需要维护两个配置文件。这需要在.env文件中设置APP_DOCROOT

  • composer generate-config-with-salts - 如上所述,但它还会自动生成盐值。这是一个在启动新项目时非常有用的命令,但可以在任何时候使用。

  • composer database-update - 当你在处理一个活跃的项目时,本地数据库可能与预发布或生产数据库相比过于陈旧。此命令将备份并清空本地配置的数据库,并使用远程或生产数据库的副本来更新它。这需要在 .env 文件中设置所有 DB_*REMOTE_DB_* 选项,并假设你的远程数据库可以从外部访问。

  • composer database-prepare - 当你在本地开发时,CMS 中创建的图像和资产链接可能引用了你的本地开发网页地址,无法在预发布或生产环境中工作。此命令将在本地配置的数据库上运行安全的搜索/替换脚本,将所有 DOMAIN_LOCAL 实例替换为在 .env 文件中配置的 DOMAIN_REMOTE。然后数据库将被导出到 dumps/prepared-database-YYYY.MM.DD-HH.MM.SS.sql,以便部署。

  • composer database-import - 如果项目根目录中存在 setup/database.sql 文件,则此命令将导入该文件到你在 .env 文件中配置的本地数据库。这对于你在一个项目中工作,并希望团队成员能够快速设置数据库副本非常有用。

  • composer database-export - 此命令将导出配置在 .env 文件的本地数据库副本,并将其保存到 setup/database.sql。如果此文件存在,它将被覆盖。这对于快速拍摄当前开发数据库以便与他人共享非常有用。

  • composer remote-uploads-enable - 当你在本地开发一个活跃的项目时,主上传文件夹可能没有包含在你的存储库中,导致 CMS 上传的图像无法加载。此命令将在你的配置上传目录中安装一个本地的 .htaccess 文件,并将所有请求重定向到远程服务器。这需要在 .env 文件中设置 DOMAIN_REMOTEAPP_DOCROOTAPP_UPLOADS。建议从项目存储库中忽略此 .htaccess 文件。

  • composer remote-uploads-disable - 一个方便的辅助命令,用于删除上述命令创建的 .htaccess 文件,以防它引起问题。这假设自添加以来 .env 配置没有更改。

配置

以下是对 .env 文件中使用的每个配置选项的解释。

  • DOMAIN_REMOTE - 由 composer database-preparecomposer remote-uploads-enable 需要,它应指向你的远程或生产环境(如果可用),不包括 http:// 或尾部斜杠。例如:www.example.comsubdomain.example.com

  • DOMAIN_LOCAL - 由 composer database-prepare 需要,它不应包括 http:// 或尾部斜杠。例如:www.example.localsubdomain.example.local

  • APP_DOCROOT - 由 composer generate-configcomposer remote-uploads-enable 需要,它应该是相对于项目根文件夹的相对路径,指向文档根的配置位置。它应该以斜杠开头,不包括尾部斜杠。如果不适用,请留空。例如:/public

  • APP_CORE - 仅当使用由 composer generate-config 生成的 wp-config.php 文件,并且 WP 核心文件位于子目录中时需要。它应指向 WP 核心相对于 APP_DOCROOT 的安装目录。它应该以斜杠开头,不包括尾部斜杠。如果不适用,请留空。例如:/wp

  • APP_UPLOADS - 由 composer remote-uploads-enable 需要,并且应指向相对于 DOMAIN_REMOTE 的远程上传位置 URL。它应该以斜杠开头,不包括尾部斜杠。例如:/wo-content/uploads

  • APP_DEBUG - 仅当使用由 composer generate-config 生成的 wp-config.php 文件时需要。允许你启用或禁用 WP 调试。选项:truefalse

  • APP_WWW - 仅在需要使用由 composer generate-config 生成的 wp-config.php 文件时才需要。允许您强制 WordPress 转发到 www 或非 www 网站地址。选项:truefalse

  • APP_SSL - 仅在需要使用由 composer generate-config 生成的 wp-config.php 文件时才需要。允许您强制 WordPress 使用 SSL 协议进行重定向。选项:truefalse

  • DB_* - 由 composer update-database 需要,并提供设置本地数据库连接详情的选项。

  • REMOTE_DB_* - 由 composer update-database 需要,并提供设置远程预发布或生产数据库连接详情的选项。