kviron / dwr-project
WordPress 模板,包含现代开发工具,易于配置和改进的目录结构
1.2.1
2021-12-23 14:49 UTC
Requires
- php: >=7.1
- composer/installers: ^1.12
- kviron/advanced-custom-fields: *
- oscarotero/env: ^2.1
- roots/bedrock-autoloader: ^1.0
- roots/bedrock-disallow-indexing: ^2.0
- roots/wordpress: 5.8.2
- roots/wp-config: 1.0.0
- roots/wp-password-bcrypt: 1.1.0
- vlucas/phpdotenv: ^5.3
- wpackagist-plugin/acf-extended: *
- wpackagist-plugin/cyr2lat: *
Requires (Dev)
- roave/security-advisories: dev-latest
- squizlabs/php_codesniffer: ^3.6.0
- symfony/var-dumper: ^v5.3.10
- wpackagist-plugin/debug-bar: *
- wpackagist-plugin/wp-php-console: *
README
特点
- 改进的目录结构
- 使用 Composer 管理依赖项
- 使用 env 简化 WordPress 配置
- 使用 Dotenv 处理环境变量
- 为 mu-plugin 提供自动加载器(将常规插件作为 mu-plugin 使用)
- 增强安全性(使用 wp-password-bcrypt 分离网站根目录和安全的密码)
依赖项
- PHP >= 7.1
- Composer - 安装
安装和创建项目
- 执行以下命令以创建项目
composer create-project kviron/dwr-project <project-name>
- 更新
.env
文件中的变量。如果值包含字母数字,请务必用单引号括起来。
- 数据库配置变量
DB_NAME
- 数据库名称DB_USER
- 数据库用户名DB_PASSWORD
- 数据库密码DB_HOST
- 数据库主机- 如果您使用 Docker 作为服务器,则必须在其中指定数据库容器的名称,例如 db。
WP_ENV
- 网站工作模式变量,可以是(development
、staging
、production
)WP_HOME
- WordPress 网站完整 URL 地址(https://example.com)WP_SITEURL
- WordPress 完整 URL 地址,包括子目录(https://example.com/wp)AUTH_KEY
、SECURE_AUTH_KEY
、LOGGED_IN_KEY
、NONCE_KEY
、AUTH_SALT
、SECURE_AUTH_SALT
、LOGGED_IN_SALT
、NONCE_SALT
- 通过链接 wp-cli-dotenv-command 生成
- 通过链接 我们的 WordPress 密钥生成器 生成
- 将您的主题添加到
web/app/themes/
目录,就像在常规 WordPress 网站中一样 - 将您的网站根目录设置为 Web 服务器上的基本
html
文件夹:/path/to/site/html/
- 访问 WordPress 管理员界面
https://example.com/wp/wp-admin/
使用 Docker 部署本地服务器
- 要启动 Docker 上的本地服务器,请执行上述所有步骤,然后执行以下命令
docker-compose up --build -d
- 在
.env
文件中可以指定服务器配置PROJECT_NAME
- 设置创建的容器名称的默认前缀(例如 db、example_phpmyadmin 等)PHP_VER
- 指定在本地服务器上安装的 PHP 版本,不建议安装低于 7.1 的版本PHP_PORT
- 设置项目可访问的端口,如果使用默认的 80 端口,请确保端口空闲且未被 OpenServer 或其他软件占用PMA_PORT
- 设置用于访问网站数据库的 phpMyAdmin 的端口MYSQL_PORT
- 设置数据库服务器可访问的端口MYSQL_ROOT_PASSWORD
- 设置数据库 root 用户的密码
安装 WordPress 插件和主题
要安装任何 WordPress 插件,请执行项目根目录中的以下命令
composer require wpackagist-plugin/<plugin-name>
安装主题的命令将与上述命令类似
composer require wpackagist-theme/<theme-name>
您还可以从 packagist.org 下载各种 PHP 扩展包。大多数情况下不会有问题,但我们不建议在根目录的 composer.json 中连接 packagist.org 的依赖项。因为某些主题可能在其内部使用类似依赖项,如果系统中已注册相同的包,这会导致致命错误。
建议将所有外部 PHP 依赖项保留在 my-theme/composer.json
中,并在主题内部进行连接。
文件 my-theme/functions.php
require __DIR__ . '/vendor/autoload.php'
项目使用特点
1. 改进的转储
我们的项目中集成了 symfony 的方便的 var-dumper
。使用它的所有你需要调用 dump
函数,以下是使用示例
var_dump($var);
使用 dump
函数代替原生的 var_dump
dump($var);
2. 快速创建数据库转储
注意,所有数据库转储文件都需要存储在 dumps 文件夹中。有两种快速创建数据库转储的方法
3. WP CLI
wp db export ./dumps/<file_name>.sql
您的服务器上应该安装了 WP CLI,请参阅 说明
4. Docker
docker exec <project_name>_db sh -c 'exec mysqldump --all-databases -uroot -p"$MYSQL_ROOT_PASSWORD"' > ./dumps/<file_name>.sql
请注意,example_db 仅是容器名称的示例,您需要使用自己的容器名称,格式为 <project_name>_db
,并且需要指定将转储写入的文件名
更改项目根目录
如果您想将根目录从 html
改为您的名称。您需要
- 将
html
文件夹重命名为您的名称 - 打开文件
config/application.php
并将变量$webroot_dir
改为您的名称 - 打开
composer.json
并将所有html
改为您的文件夹名称 - 编辑文件
.gitignore
并用旧文件夹名称替换它 - 为了使 WP-CLI 能够正常工作,还需要修改文件
wp-cli.yml
中的路径