如何在Timber

时间:2018-06-08 15:15:12

标签: wordpress wordpress-theming timber

在我真正喜欢使用Timber和Twig开发主题的想法之前,我还没有使用过Twig,而是使用了Twig。

但是,我在阅读文档时遇到了一些未解答的问题。这主要围绕 wp_head wp_footer wp_enqueue

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

我认为插件可能会挂钩此功能以启​​用自己的脚本。

Timber 如何处理这个问题对我来说是非常不清楚的。在非正式的教程中,我读到了这个:

  

我们要做的第一件事就是用Timber::get_context();获取主题的上下文。此对象将包含诸如menu,wp_head和wp_footer

之类的内容

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

在官方文件中:

  

例如,如果您需要致电wp_head()wp_footer(),您就可以   就像这样

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

因此,当我查看木材启动主题时,它会在其html-header.twig中调用此函数,但它也会导入样式表而不会入队。

然后在首发主题中有header.php。我认为永远不应该被称为。这是那里的评论。

  

劫持主题的第三方插件会调用wp_head()来获取标题模板。

这只是一个错字或其他什么? wp_head没有返回头模板,get_header没有。我不对吗?

我们假设应该说get_header。如果我使用像woocommerce这样的东西,我不会理解这会带来的影响。 woocommerce的文档是否足够,我可以在我的主题中包含它,它会起作用吗?为什么在文档的woocommerce部分没有更好的解释?

1 个答案:

答案 0 :(得分:1)

我自己发现Timber的首发主题也有点令人困惑,而且我不是那里的少数解决方案的粉丝(简短说明:这就是我写自己的Timber首发主题的原因)。

一般来说,你是对的。

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

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

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