Timber(Twig)如何调用wordpress函数

Noe*_*enk 3 php wordpress twig twig-extension timber

在Timber中就是这个功能

{{post}}
Run Code Online (Sandbox Code Playgroud)

你得到的东西

{{post.post_title}}
Run Code Online (Sandbox Code Playgroud)

但是WordPress中还有其他功能

get_the_permalink();
Run Code Online (Sandbox Code Playgroud)

无法从post.get_the_permalink或post.get_permalink访问

这些是我可以访问的变量

  • ID
  • post_author
  • 发布日期
  • post_date_gmt
  • POST_CONTENT
  • 帖子标题
  • post_excerpt
  • post_status
  • comment_status
  • ping_status
  • post_password
  • POST_NAME
  • to_ping
  • ping通
  • post_modified
  • post_modified_gmt
  • post_content_filtered
  • post_parent
  • GUID
  • menu_order
  • post_type
  • post_mime_type
  • COMMENT_COUNT
  • 过滤

正如这个Timber文档描述的那样有行动[Timber Doc],但你必须在functions.php文件中定义每个函数...这意味着我必须从php创建每个已经存在的函数并将其"重定向"到wordpress功能.然后将其绑定到Twig.

还有一种方法,你可以在这里看到现在弃用

Noe*_*enk 14

您可以使用例如调用任何函数

{{ function('get_permalink', post.ID) }}
Run Code Online (Sandbox Code Playgroud)

更多信息:https: //timber.github.io/docs/guides/functions/


jan*_*anh 5

首先,我相信您应该使用{{post.link}}来获取永久链接。

其次,如果您发现经常需要从 twig 模板中调用 php 函数,那么您可能没有充分区分代码和模板。但是,由于它们允许您从模板调用 Wordpress-Actions,因此您始终可以在 Functions.php 中编写一个操作,该操作将根据参数调用您想要的 php 函数。fn()这与建议的通话非常相似。