edsonsantoro/wp-mt-add-site

将 WordPress 站点添加到 edsonsantoro/wp-mt-boilerplate。

dev-main 2021-09-13 11:26 UTC

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_NAMEDB_USERDB_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 以安装您的新包。

主题和插件安装在符号链接的 themesplugins 目录中的 /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)

表示符号链接。

另请参阅

WordPress Substratum

致谢

灵感来自 roots/bedrockwpscholar/wp-skeleton