htmlburger / wpemerge-theme
一款使用 WP Emerge 框架的现代 WordPress 入门主题
Requires
- php: >=5.5
- composer/installers: ^1.4
- htmlburger/wpemerge: ~0.17.0
- htmlburger/wpemerge-app-core: ~0.17.0
Requires (Dev)
- dealerdirect/phpcodesniffer-composer-installer: ^0.7.0
- filp/whoops: ~2.13.0
- htmlburger/wpemerge-cli: ~0.17.0
- symfony/debug: ~3.0
- wp-coding-standards/wpcs: ^2.0
README
这是一款使用 WP Emerge 框架的现代 WordPress 入门主题。
这是 WP Emerge 入门主题项目 - 如需了解 WP Emerge 框架,请访问 https://github.com/htmlburger/wpemerge。
摘要
文档
http://docs.wpemerge.com/#/starter/theme/overview
http://docs.wpemerge.com/#/starter/theme/quickstart
开发团队
由 Atanas Angelov 和可爱的 htmlBurger 团队带来。
比较表
¹ Sage 的控制器更像是一个视图组合器而不是控制器。
² Sage 的控制器提供了类似的功能,但每个视图仅限于一个控制器,反之亦然。
³ Timber 不提供前端构建过程,因此您可以实施您喜欢的任何东西。
将任何事实错误发送至 hi@atanas.dev 以便进行纠正。
特性
- 包含所有来自 WP Emerge 的功能
- 支持 Gutenberg。
- SASS + PostCSS 用于样式表。为 前端、管理、Gutenberg 和 登录 页面创建了单独的包,并可以轻松添加自定义包。
- ES6 用于 JavaScript。为 前端、管理、Gutenberg 和 登录 页面创建了单独的包,并可以轻松添加自定义包。
- 纯 Webpack 用于转译和打包资源,创建精灵,优化图像等。
- 热模块替换 用于同步浏览器开发。
- 为您的
MyApp\
命名空间中的所有类启用自动加载。 - 为所有资产(包括样式表中引用的资产)自动进行防错缓存破坏。
- 使用单个 yarn 命令进行 WPCS、JavaScript 和 SASS 检查和修复。
- 单命令可选 CSS 包安装
- Normalize.css
- Bootstrap 4
- Bulma
- Foundation
- Tachyons
- Tailwind CSS
- Spectre.css
- FontAwesome
- 为您的自定义类提供 WP 单元测试框架。
非目标
-
接管 WordPress 主查询。
WP Emerge 不 接管主查询 - 它积极地与之协同工作。
-
接管 WordPress 路由。
WP Emerge 不 接管 WordPress 的路由 - 它积极地与之协同工作。唯一例外是由用户明确添加的硬编码 URL。
-
以面向对象接口重新发明WordPress API。
WP Emerge不提供注册帖子类型、分类或其他类似功能的替代API,以获得微小的额外好处。相反,它为开发人员提供使用核心API的逻辑和便捷位置。
-
默认使用第三方引擎。
WP Emerge默认使用PHP,与WordPress相同,但增加了功能。使用第三方引擎是完全可选的,需要安装扩展。
-
包括Laravel或另一个框架的大部分内容。
WP Emerge针对WordPress进行了优化。虽然受到Laravel的启发,但它不附带任何
illuminate/*
包。只有2个第三方生产依赖项pimple/pimple
- 单文件PHP服务容器。guzzlehttp/psr7
- PSR-7请求和服务器请求实现。
要求
目录结构
wp-content/themes/your-theme
├── app/
│ ├── helpers/ # Helper files, add your own here as well.
│ ├── routes/ # Register your WP Emerge routes.
│ │ ├── admin.php
│ │ ├── ajax.php
│ │ └── web.php
│ ├── src/ # PSR-4 autoloaded classes.
│ │ ├── Controllers/ # Controller classes for WP Emerge routes.
│ │ ├── Routing/ # Register your custom routing conditions etc.
│ │ ├── View/ # Register your view composers, globals etc.
│ │ ├── WordPress/ # Register post types, taxonomies, menus etc.
│ │ └── ...
│ ├── config.php # WP Emerge configuration.
│ ├── helpers.php # Require your helper files here.
│ ├── hooks.php # Register your actions and filters here.
│ └── version.php # WP Emerge version handling.
├── dist/ # Bundles, optimized images etc.
├── languages/ # Language files.
├── resources/
│ ├── build/ # Build process configuration.
│ ├── fonts/
│ ├── images/
│ ├── scripts/
│ │ ├── admin/ # Administration scripts.
│ │ ├── editor/ # Gutenberg editor scripts.
│ │ ├── login/ # Login scripts.
│ │ └── frontend/ # Front-end scripts.
│ ├── styles/
│ │ ├── admin/ # Administration styles.
│ │ ├── editor/ # Gutenberg editor styles.
│ │ ├── login/ # Login styles.
│ │ ├── frontend/ # Front-end styles.
│ │ └── shared/ # Shared styles.
│ └── vendor/ # Any third-party, non-npm assets.
├── vendor/ # Composer packages.
├── views/
│ ├── layouts/
│ └── partials/
├── views-alternatives/ # Views for other engines like Blade.
├── functions.php # Bootstrap theme.
├── screenshot.png # Theme screenshot.
├── style.css # Theme stylesheet.
├── wpemerge # WP Emerge CLI shortcut.
└── ...
重要目录
app/helpers/
在此处添加PHP辅助文件。辅助文件应仅包含函数定义。有关将操作、过滤器、类等放置在何处的信息,请参阅以下内容。
app/src/
在此处添加PHP类文件。所有位于MyApp\
命名空间中的类都根据PSR-4自动加载。
resources/images/
在此处添加图像以用于样式。在运行构建过程时,优化后的副本将放置在dist/images/
中。
resources/styles/frontend/
添加.css和.scss文件以将它们添加到前端包中。不要忘记在index.scss
中@import
它们。
resources/styles/[admin,editor,login]/
这些目录分别用于管理、编辑和登录包。它们与主resources/styles/frontend/
目录工作方式相同。
resources/scripts/frontend/
在此处添加JavaScript文件以将其添加到前端包中。入口点是index.js
。
resources/scripts/[admin,editor,login]/
这些目录分别用于管理、编辑和登录包。它们与主resources/scripts/frontend/
目录工作方式相同。
views/
遵循WordPress模板层级的视图应放在主题根目录中(例如,index.php
、searchform.php
、archive-post.php
等),其他视图应放在以下目录中
views/layouts/
- 扩展其他视图的布局。views/partials/
- 应在其他视图中重复使用的小片段。views/
- 命名的自定义帖子模板或不适合其他地方的视图。
避免在这些视图中添加任何PHP逻辑,除非它与布局有关。业务逻辑应放在
- 辅助文件(
app/helpers/*.php
) - 服务类
- WP Emerge控制器
贡献
WP Emerge入门主题是完全开源的,我们鼓励大家通过以下方式参与:
- 审查
.github/CONTRIBUTING.md
。 - ⭐在GitHub上对项目进行评分(https://github.com/htmlburger/wpemerge-theme)
- 发布错误报告(https://github.com/htmlburger/wpemerge-theme/issues)
- (通过hi@atanas.dev发送安全问题代替)
- 发布功能建议(https://github.com/htmlburger/wpemerge-theme/issues)
- 发布和/或回答问题(https://github.com/htmlburger/wpemerge-theme/issues)
- 提交拉取请求(https://github.com/htmlburger/wpemerge-theme/pulls)
- 与您的社区分享您对WP Emerge的激动之情