《开源精选》是我们分享Github、Gitee等开源社区中优质项目的栏目,包括技术、学习、实用与各种有趣的内容本期推荐的 Bedrock 是一个现代 WordPress 堆栈,可以帮助您开始使用最好的开发工具和项目结构。
Bedrock特征更好的文件夹结构使用Composer进行依赖管理使用环境特定文件轻松配置 WordPressDotenv环境变量mu-plugins 的自动加载器(使用常规插件作为 mu-plugins)
增强的安全性(使用wp-password-bcrypt分隔 Web 根和安全密码)Bedrock安装1.创建一个新项目:$ composer create-project roots/bedrock2.
更新文件中的环境变量.env将可能包含非字母数字字符的值用引号括起来,否则它们可能会被错误地解析数据库变量DB_NAME- 数据库名称 DB_USER- 数据库用户 DB_PASSWORD- 数据库密码 DB_HOST- 数据库主机或者,您可以定义DATABASE_URL使用 DSN 而不是使用上面的变量(例如mysql:。
//user:password@127.0.0.1:3306/db_name)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
3.web/app/themes/像添加普通 WordPress 网站一样添加主题4.将您的网络服务器上的文档根目录设置为 Bedrock 的web文件夹:/path/to/site/web/5.访问 WordPress 管理员
https://example.com/wp/wp-admin/Bedrock特征示例1.具有现代开发工具、更简单的配置和改进的文件夹结构的 WordPress 样板# Create a new Bedrock project
$ composer create-project roots/bedrock # Add plugins with Composer $ composer require wpackagist-plugin/safe-redirect-manager $ composer
require wpackagist-plugin/simple-page-ordering $ composer require wpackagist-plugin/woocommerce2.更好的 WordPress 项目结构
Bedrock 的组织类似于将 WordPress 放在自己的子目录中,但有一些改进,包括重命名wp-content/为app/.├── composer.json ├── config │ ├──
application.php │ └── environments │ ├── development.php │ ├── staging.php │ └──
production.php ├── vendor └── web ├── app │ ├── mu-plugins │ ├── plugins │ ├──
themes │ └── uploads ├── wp-config.php ├── index.php └── wp3.使用 Composer 进行依赖管理使用 PHP 依赖管理器 Composer 管理您的 WordPress 安装和插件。
Composer 将使开发更加可靠,有助于团队协作,并有助于维护更好的 Git 存储库4.简单的 WordPress 配置使用 Dotenv 的环境特定配置文件和环境变量5.增强的安全性通过wp-password-bcrypt隔离 Web 根以限制对非 Web 文件的访问和更安全的密码。
Bedrock文档Roots 项目的文档,包括 Acorn、Bedrock、Sage 和 Trellis1.Acorn DocsAcorn 是一种在 WordPress 中使用 Laravel 组件的方法。
Acorn 将 Laravel 生态系统的元素带到任何 WordPress 插件或主题中简而言之,Acorn 提供了一种在 WordPress 内部优雅地加载 Laravel 应用程序容器的方法,同时尊重 WordPress 生命周期和模板层次结构。
使用 Composer 安装 Acorn在 Composer 管理的 WordPress 安装中安装 Acorn,例如使用Bedrock:$ composer require roots/acorn我们还建议将 Acorn 的postAutoloadDump函数添加到 Composer 的post-autoload-dump事件中composer.json:
"post-autoload-dump": [ "Roots\\Acorn\\ComposerScripts::postAutoloadDump" ]服务器要求:Acorn 的服务器要求很少,主要来自 WordPress 和Laravel 8 的要求。
PHP >=7.3 或 >=8.0WordPress >= 5.4BCMath PHP 扩展Ctype PHP 扩展文件信息 PHP 扩展JSON PHP 扩展Mbstring PHP 扩展标记器 PHP 扩展
XML PHP 扩展2.Bedrock DocsBedrock 是一个WordPress 样板使用 Composer 安装 Bedrock创建一个新的基岩项目:$ composer create-project。
roots/bedrock多站点:Bedrock 与多站点网络兼容,但需要root/multisite-url-fixer子域上的 mu-plugin 安装以确保管理 URL 正常运行子目录安装不需要此插件,但可以很好地使用它们。
从您的Bedrock目录中:$ composer require roots/multisite-url-fixer3.Sage DocsSage 是一个WordPress 入门主题使用 Composer 安装 Sage。
使用 Composer 从您的 WordPress 主题目录安装 Sage(your-theme-name在下面替换为您的主题名称):# From your WordPress themes directory, run:
$ composer create-project roots/sage your-theme-name要安装 Sage 的最新开发版本,dev-main请在命令末尾添加:$ composer create
-project roots/sage your-theme-name dev-main您必须构建主题资产才能访问您的站点未能构建资产将导致错误:The manifest [/path/to/sage/public。
/manifest.json] cannot be found.运行第一个构建:yarn从主题目录运行安装依赖bud.config.js使用本地开发 URL更新yarn build— 编译资产4.Trellis Docs
Trellis是一个创建 WordPress Web 服务器和部署 WordPress 站点的工具Trellis 允许您创建和管理生产就绪、性能优化并基于不断改进的最佳实践的服务器由于您从 Roots 的社区和经验中受益,Trellis 是自我托管的正确方式。
安装Trellis-cli$ brew install roots/tap/trellis-cli创建项目:要创建一个新项目,首先,选择一个描述性名称(并使用它来代替默认名称example.com)为方便起见,我们推荐该站点的域。
$ trellis new example.com或者要显式设置站点名称和主机,请使用以下命令:trellis new --name example.com --host www.example.com ~
/path/to/my/project创建项目后,Trellis 项目的文件夹结构将如下所示:example.com/ # → Root folder for the project ├── trellis/
# → Your server configuration (a customized install of Trellis) └── site/ # → A Bedrock-based WordPress site
└── web/ ├── app/ # → WordPress content directory (themes, plugins, etc.) └── wp/
# → WordPress core (dont touch! - managed by Composer)假设您使用 CLI,您还将根据项目文件夹(或提供的名称和主机)自动配置您的第一个 WordPress 站点。
查看以下文件以查看基本站点配置:trellis/group_vars/development/wordpress_sites.ymltrellis/group_vars/production/wordpress_sites.yml
用Bedrock建造示例
—END—开源协议:MIT License开源地址:https://github.com/roots/bedrock
亲爱的读者们,感谢您花时间阅读本文。如果您对本文有任何疑问或建议,请随时联系我。我非常乐意与您交流。
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。