edsonsantoro / wp-mt-add-site
将 WordPress 站点添加到 edsonsantoro/wp-mt-boilerplate。
Requires
- php: >=7.2
- composer/installers: @stable
- oscarotero/env: ^1.1.0
- roots/wp-password-bcrypt: 1.0.0
- vlucas/phpdotenv: ^2.4
This package is auto-updated.
Last update: 2024-09-13 18:16:06 UTC
README
将 WordPress 站点添加到 WP Multitenancy Boilerplate。
功能
- 改进的目录结构
- 使用环境和常量文件轻松配置 WordPress
- 使用 PHP dotenv 的环境变量
- 增强安全性(使用 roots/wp-password-bcrypt 分离 Web 根目录和安全的密码)
- WordPress 多租户(单个 WordPress 核心实例、主题和插件为多个站点提供服务)
要求
- PHP 7.2+
- Composer
先决条件
已通过 WP Multitenancy Boilerplate 安装的 WordPress 实例。
安装
$ composer create-project handpressed/wp-multitenancy-add-site {directory}
$ cd {directory}
将 {directory} 替换为您的新的 WordPress 项目的名称,例如其域名。
Composer 将现有 WordPress 实例(通过 WP Multitenancy Boilerplate 添加)在 /var/opt/wp 中的符号链接到 web/wp(见 目录结构)。
Composer 还会将 /var/opt/wp/wp-content/themes 符号链接到 web/app/themes,/var/opt/wp/wp-content/plugins 符号链接到 web/app/plugins,以及 /var/opt/wp/wp-content/mu-plugins 符号链接到 web/app/mu-plugins。
配置
打开 conf/.env 文件,并添加新站点的首页 URL(WP_HOME)和数据库凭据(DB_NAME、DB_USER、DB_PASSWORD)。如果需要,还可以定义数据库 $table_prefix(默认为 wp_)。
将站点的 vhost 文档根设置为 /path/to/{directory}/web。
主题
像为常规 WordPress 安装一样,在 web/app/themes 中添加主题。您可以使用 WordPress 管理员来更新它们。
插件
WordPress Packagist 已经在 composer.json 文件中注册,因此可以轻松要求来自 WordPress 插件目录 的任何插件。
要添加插件,请从命令行使用 composer require <namespace>/<packagename>。如果是来自 WordPress Packagist,则命名空间始终为 wpackagist-plugin,例如。
$ composer require wpackagist-plugin/wp-optimize
每次添加新插件或更新 WordPress 核心,都运行 composer update 以安装您的新包。
主题和插件安装在符号链接的 themes 和 plugins 目录中的 /var/opt/wp/wp-content,并可供所有多租户站点使用。
注意:某些插件可能会修改核心 wp-config.php 文件。任何需要由单个站点使用的对 wp-config.php 的修改都应移动到站点的 conf/wp-constants.php 文件中。
常量
将自定义核心、主题和插件常量放在 conf/wp-constants.php 中。
目录结构
├── composer.json → Manage versions of WordPress, plugins and dependencies
├── conf → WordPress configuration files
│ ├── .env → WordPress environment variables (WP_HOME, DB_NAME, DB_USER, DB_PASSWORD required)
│ ├── wp-constants.php → Custom core, theme and plugin constants
│ ├── wp-env-config.php → Primary WordPress config file (wp-config.php equivalent)
│ └── wp-salts.php → Authentication unique keys and salts (auto generated)
├── vendor → Composer packages (never edit)
└── web → Web root (vhost document root)
├── app → wp-content equivalent
│ ├── mu-plugins ↔ Must-use plugins symlinked to /var/opt/wp/wp-content/mu-plugins
│ ├── plugins ↔ Plugins symlinked to /var/opt/wp/wp-content/plugins
│ ├── themes ↔ Themes symlinked to /var/opt/wp/wp-content/themes
│ └── uploads → Uploads
├── index.php → Loads the WordPress environment and template (never edit)
└── wp ↔ WordPress core symlinked to /var/opt/wp (never edit)
└── wp-config.php → Required by WordPress - loads conf/wp-env-config.php (never edit)
↔ 表示符号链接。
另请参阅
致谢
灵感来自 roots/bedrock 和 wpscholar/wp-skeleton。