htmlburger/wpemerge-theme

一款使用 WP Emerge 框架的现代 WordPress 入门主题

安装次数: 3,725

依赖者: 0

建议者: 0

安全: 0

星星: 285

关注者: 19

分支: 33

开放问题: 1

类型:wordpress-theme

0.17.1 2022-04-16 18:30 UTC

README

Packagist Build Gitter

这是一款使用 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 的功能
    • 具有自定义 URL 和查询过滤器的命名路由
    • 控制器
    • 中间件
    • PSR-7 响应
    • 视图组合器
    • 服务容器
    • 服务提供者
    • PHP 视图布局(即自动包装)
    • 支持 PHP、Blade 5.4 和/或 Twig 2 视图
  • 支持 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.phpsearchform.phparchive-post.php等),其他视图应放在以下目录中

  1. views/layouts/ - 扩展其他视图的布局。
  2. views/partials/ - 应在其他视图中重复使用的小片段。
  3. views/ - 命名的自定义帖子模板或不适合其他地方的视图。

避免在这些视图中添加任何PHP逻辑,除非它与布局有关。业务逻辑应放在

贡献

WP Emerge入门主题是完全开源的,我们鼓励大家通过以下方式参与: