Timber 中如何使用 wordpress 标准

How are wordpress standards used in Timber

不是 PHP 开发人员,但在我真正喜欢使用 Timber 和 Twig 开发主题之前使用过 Twig。

然而,我在阅读文档时有一些未解决的问题。这主要围绕 wp_headwp_footerwp_enqueue.

我读到的关于 WP 主题的所有内容都坚决要求我们调用主题中的前两个函数,并将所有脚本和样式排入队列。

我假设插件可能会连接到此功能以启​​用它们自己的脚本。

Timber 是如何处理这个问题的,我不太清楚。在一个非官方教程中,我读到这个:

the first thing we're doing is fetching the context of the theme with Timber::get_context();. This object will contain such things as your menus, wp_head, and wp_footer

所以上下文已经在为我们处理这个了?我想我仍然需要告诉它在哪里渲染脚本和样式,对吧?怎么样?

在官方文档中:

For example, if you need to call wp_head() and wp_footer(), you’d do it like this

如果我需要,是的,你总是需要正确的,......对吗?

因此,当我查看 timber 入门主题 时,它确实在 html-header.twig 中调用了此函数,但它还导入了一个样式表而不排队。

然后是入门主题中的 header.php。我认为永远不应该调用它。这是那里的评论。

Third party plugins that hijack the theme will call wp_head() to get the header template.

这只是一个拼写错误还是什么? wp_head 没有 return header 模板,get_header 有。我错了吗?

让我们假设它应该说 get_header。我不明白如果我使用 woocommerce 之类的东西会产生什么影响。 woocommerce 的文档是否足够,我可以将其包含在我的主题中并且它会起作用?为什么在文档的 woocommerce 部分没有对此进行更好的解释?

我自己也觉得 Timber 入门主题有点令人困惑,而且我不喜欢其中的一些解决方案(简短的旁注:这就是我编写自己的 Timber 入门主题的原因)。

总的来说你是对的。

从 Twig 文件加载 wp_headwp_footer 就足够了,是的 - 我们必须始终在我们的主题中调用这些函数。

为什么他们不排队样式文件而是直接引用它?也许这只是为了不让主题更复杂(??),尽管这绝对不是今天的最佳做法。

是的 - wp_head() 劫持绝对是一个错字,他们的意思是 get_header()