timber / timber
使用优雅的 OOP 代码和 Twig 模板引擎创建 WordPress 主题
Requires
- php: ^8.1
- twig/twig: ^3.5
Requires (Dev)
- ergebnis/composer-normalize: ^2.28
- php-parallel-lint/php-parallel-lint: ^1.3
- php-stubs/acf-pro-stubs: ^6.0
- php-stubs/wp-cli-stubs: ^2.0
- phpro/grumphp: ^2.0
- phpstan/extension-installer: ^1.1
- phpstan/phpstan: ^1.7
- phpunit/phpunit: ^9.0
- rector/rector: ^1.0
- squizlabs/php_codesniffer: ^3.0
- symplify/easy-coding-standard: ^12.0
- szepeviktor/phpstan-wordpress: ^1.1
- twig/cache-extra: ^3.3
- wpackagist-plugin/advanced-custom-fields: ^6.0
- wpackagist-plugin/co-authors-plus: ^3.6
- yoast/wp-test-utils: ^1.2
Suggests
- php-coveralls/php-coveralls: ^2.0 for code coverage
- twig/cache-extra: For using the cache tag in Twig
- 2.x-dev
- v2.2.0
- v2.1.0
- 2.0.0
- 2.0.0-rc.1
- 2.0.0-beta.2
- 2.0.0-beta.1
- 2.0.0-alpha.6
- 2.0.0-alpha.5
- 2.0.0-alpha.4
- 2.0.0-alpha.3
- 2.0.0-alpha.2
- 2.0.0-alpha.1
- 1.x-dev
- 1.24.1
- 1.24.0
- 1.23.1
- 1.23.0
- 1.22.1
- 1.22.0
- 1.21.0
- 1.20.0
- 1.19.2
- 1.19.1
- 1.19.0
- 1.18.2
- 1.18.1
- 1.18.0
- 1.17.0
- 1.16.0
- 1.15.2
- 1.15.1
- 1.15.0
- 1.14.0
- 1.13.0
- 1.12.1
- 1.12.0
- 1.11.0
- 1.10.1
- 1.10.0
- 1.9.5
- 1.9.4
- 1.9.3
- 1.9.2
- 1.9.1
- 1.9.0
- 1.8.4
- 1.8.3
- 1.8.2
- 1.8.1
- 1.8.0
- 1.7.1
- 1.7.0
- 1.6.0
- 1.5.2
- 1.5.1
- 1.5.0
- 1.4.1
- 1.4.0
- 1.3.4
- 1.3.3
- 1.3.2
- 1.3.1
- 1.3.0
- 1.3.0-rc2
- 1.3.0-rc1
- 1.3.0-beta
- 1.2.4
- 1.2.3
- 1.2.2
- 1.2.1
- 1.2.0
- 1.1.12
- 1.1.11
- 1.1.10
- 1.1.9
- 1.1.8
- 1.1.7.1
- 1.1.7
- 1.1.6
- 1.1.5
- 1.1.4
- 1.1.3
- 1.1.2
- 1.1.1
- 1.1.0
- 1.0.5
- 1.0.4
- 1.0.3
- 1.0.2
- 1.0.1
- 1.0.0
- 1.0.0-rc3
- 1.0-rc2
- v1.0-rc.1
- 0.22.6
- 0.22.5
- 0.22.4
- 0.22.3
- 0.22.2
- 0.22.1
- 0.22.0
- 0.21.10
- 0.21.9
- 0.21.8
- 0.21.7
- 0.21.6
- 0.21.5
- 0.21.4
- 0.21.3
- 0.21.2
- 0.21.0
- 0.20.10
- 0.20.9
- 0.20.8
- 0.20.7
- 0.20.6
- 0.20.5
- 0.20.4
- 0.20.3
- 0.20.2
- 0.20.1
- 0.20.0
- 0.19.2
- 0.19.1
- 0.19.0
- 0.18.1
- 0.18.0
- 0.17.2
- 0.17.0
- 0.16.8
- 0.16.6
- dev-release-please--branches--2.x
- dev-dependabot/github_actions/tj-actions/changed-files-45
- dev-wp-plugin
- dev-release-checklist-2x
This package is auto-updated.
Last update: 2024-09-02 06:01:21 UTC
README
Timber 2.0
由 Jared Novack (@jarednova), Lukas Gächter (@lgaechter), Nicolas Lemoine (@nlemoine), Erik van der Bas (网站), Coby Tamayo (@cobytamayo), Upstatement 以及 成百上千的 GitHub 贡献者 贡献。
⚠️ 关于 Timber 插件的重要信息 ⚠️
随着 Timber 2.0 的发布,Composer 是唯一支持的安装方法。我们无法继续在 WordPress.org 上发布或支持 Timber 插件。我们建议每个人都尽快 切换到基于 Composer 的 Timber 1 安装 作为第一步。如果您需要 PHP 8.2 支持,您必须切换到 Timber 2.0。
有关更多信息和其他资源列表,请访问此 讨论。
什么是 Timber?
因为 WordPress 很棒,但 The Loop 并不好。
Timber 帮助您使用更可持续的代码更快地创建完全定制的 WordPress 主题。使用 Timber,您将 HTML 与 PHP 文件分开编写。
这可以清理您的主题代码,例如,您的 PHP 文件可以专注于数据/逻辑,而您的 Twig 文件可以专注于 100% 的 HTML 和显示。
这是 Timber 的 .twig
文件看起来像什么(来自这个 Hello World 示例)
{% extends "base.twig" %} {% block content %} <h1 class="big-title">{{ foo }}</h1> <h2 class="post-title">{{ post.title }}</h2> <img src="{{ post.thumbnail.src }}" /> <div class="body"> {{ post.content }} </div> {% endblock %}
一旦安装了 Timber,它就为任何 WordPress 主题提供了利用 Twig 和其他 Timber 功能的能力。
文档
安装
请参阅 安装指南 了解如何使用 Composer 安装 Timber。
接下来做什么?
设置 Timber Starter Theme。一旦您在 WordPress 设置中安装了它,请继续阅读 主题入门指南。
Timber 的使命
Timber 是一款开发工具,它可以帮助开发者通过直观、一致且全面可访问的界面,将 HTML 转换为高质量的 WordPress 主题。
- 直观:API 的设计以用户为中心,符合程序员的期望。
- 一致:可以通过常见的多态属性(如 slug、ID 和名称)访问 WordPress 对象。
- 可访问:没有任何黑盒。我们尽力确保开发者可以访问 100% 的 HTML。
它看起来是什么样子的?
什么都没有。Timber 是为了让你在上面构建主题而设计的。就像 underscores 一样,它没有风格,因为你是风格专家。相反,Timber 处理你需要来制作一个看起来很棒的网站的逻辑。
它适合谁?
Timber 对于任何关心编写良好、可维护代码的 WordPress 开发者来说都非常出色。它有助于设计师和开发者团队协作。在 Upstatement,我们创建 Timber,因为我们整个团队都需要参与构建 WordPress 网站,但并不是每个人都了解 _loop()、codex 和 PHP(也不应该了解)。使用 Timber,你的最佳 WordPress 工程师可以专注于构建由 WordPress 请求的 .php
文件,并将数据传递到 .twig
文件中。一旦到达那里,设计师可以轻松地标记数据并构建网站的外观和感觉。
我应该使用它吗?
Timber 是 MIT 许可的,因此请将其用于个人或商业工作。只是不要重新销售它。Timber 被用于 成千上万的网站(以及更多我们不知道的网站)
Timber 1
您可以在 1.x 分支 上找到 Timber 1 的代码,并在这里阅读 Timber 1 文档。
链接
相关 & 官方项目
- Twig Timber 所使用的模板语言。
- Timber Starter Theme Timber 的 “_s”,它为您提供了一个简单的起点,让您可以在此基础上构建和自定义最基本的主题。
- wp-i18n-twig 用于从 Twig 文件中抓取可翻译字符串的 WP CLI 命令。
- Timber Debug Bar 添加一个调试栏面板,它将显示正在使用的模板以及发送到您的 twig 文件中的数据。
相关 Timber 项目
- Editor for Timber 从 WordPress 管理后台编辑您的 Twig 文件
- Pine Timber 的 CLI 安装程序
- Query Monitor Twig Profile Query Monitor 的附加组件,用于查看 Twig 文件内部发生的事情(自动与 Timber 一起工作!)
- Timber ACF WP Blocks 简单的 ACF Gutenberg 块创建
- Timber CLI Timber 的 CLI
- Timber Commented Include 在每个 include 语句之前和之后通过 HTML 注释进行调试输出
- Timber Debugger 提供额外调试选项的软件包
- Timber Dump Extension 带有良好格式的调试输出
- Timber Photon 插件,用于在Timber中使用JetPack的免费Photon图像处理和CDN功能
- Timber VS Code扩展 Visual Studio Code中的Timber代码片段
- Timber Sugar 一个用于Timber的各种好工具的集合
- Timber WebLink扩展 提供用于在HTTP/2服务器推送和资源提示中使用Web链接时管理HTTP头部的Twig函数
- Timmy Timber的高级图像处理功能
使用Timber的项目
- Branch Bootstrap 3 + Timber = Branch启动主题!
- Flynt 基于Timber和ACF Pro的组件化WordPress启动主题
- Gantry5 主题开发框架
- Hozokit 组件化启动主题
- Juniper 启动包,结合了Timber和Bedrock
- Seedling 使用Bootstrap 4的启动主题
有帮助的链接
- CSS Tricks 由@tjFogarty介绍Timber
- Twig for Timber Cheatsheet 由@laras126
- Timber Cheatsheet 由@taotiwordpress
- TutsPlus 由@ahmadawais提供的入门指南
报告安全问题
要向我们的团队报告安全问题,请通过GitHub提交报告。
支持
请在仅StackOverflow上的“Timber”标签下发帖。请仅使用GitHub问题报告特定的错误、功能请求和其他类型的问题。
贡献 & 社区
我们喜欢PR!阅读贡献指南获取更多信息。在Twitter上向@TimberWP打招呼,分享你的技巧/工作,并传播爱。
赞助我们
自2013年以来,Timber的目标是创建一个库,帮助您以更快的速度、更多可持续的代码创建完全定制的WordPress主题。
通过我们敬业团队和无数贡献者的共同努力,我们投入了无数小时来维护和增强Timber。为了继续这样做,我们依赖于赞助商的无价支持。
您是WordPress专家或依赖Timber的代理机构的一员吗?通过成为赞助商来保持魔法活力!通过成为赞助商,您将为Timber的持续维护和增强做出贡献,最终惠及全球开发者。
金牌赞助商
我们的支持者
文档
Timber的官方文档由本仓库的内容生成
- 类和函数的文档是自动生成的。若要修改文档中的参考部分,应通过编辑函数的DocBlock进行。对于行内文档,我们遵循WordPress PHP文档规范。
- 若要修改指南中的内容,请编辑
docs
目录中的相关文件。