我正在使用Wordpress Timber来构建我的wordpress主题,并希望如何在木材中获得自定义字段?我指的是php文件而不是twig模板文件。
是否有获取自定义字段的功能?现在这种方法不起作用:
$post = new TimberPost();
$post->some_custom_field_name;
答案 0 :(得分:1)
当您有Timber帖子时,目前有3种不同的方式可以访问自定义字段值。在Twig中,它可能更容易编写,但最终,Twig在幕后被翻译为PHP,所以在PHP中肯定有一种方法!
当您创建新的Timber帖子时,Timber将使用可直接作为属性访问的自定义字段值自动填充您的帖子对象。
因此,如果您有一个名为some_custom_field_name
的自定义字段,您应该能够以您尝试过的方式访问它:
$custom_field_value = $post->some_custom_field_name;
如果未设置您的值,您可以通过使用var_dump()
转储内容来检查帖子上是否设置了属性:
var_dump( $post );
另请参阅Debugging Guide。
custom
属性 Timber还将所有自定义字段值作为数组复制到帖子上名为custom
的属性。所以你的领域也应该是这样的:
$custom_field_value = $post->custom['some_custom_field_name'];
meta
方法访问上述两种方法将直接返回数据库的值。如果您使用高级自定义字段之类的插件,则可能不需要数据库中的原始值,而是需要插件正确过滤的值。然后你应该使用meta()
method:
$custom_field_value = $post->meta('some_custom_field_name');