如何获取 single.php 中的自定义字段?
How to get custom fields in single.php?
我正在使用 Wordpress Timber 构建我的 wordpress 主题,我想知道如何在木材中获取自定义字段?我指的是 php 文件而不是树枝模板文件。
是否有获取自定义字段的功能?现在这种方法不起作用:
$post = new TimberPost();
$post->some_custom_field_name;
当您拥有 Timber post 时,目前有 3 种不同的方式可以访问自定义字段值。在Twig中,可能写起来更容易,但Twig最终在幕后被翻译成PHP,所以PHP!
中肯定有办法
1。通过 属性
直接访问
当您创建新的 Timber post 时,Timber 会自动使用可直接作为属性访问的自定义字段值填充您的 post 对象。
因此,如果您有一个名为 some_custom_field_name
的自定义字段,您应该能够按照您尝试过的方式访问它:
$custom_field_value = $post->some_custom_field_name;
如果您的值未设置,您可以随时通过 var_dump()
:
转储内容来检查 post 上是否设置了 属性
var_dump( $post );
另请参阅Debugging Guide。
2。通过custom
属性
访问
Timber 还将所有自定义字段值作为数组复制到 post 上名为 custom
的 属性。所以你的领域也应该像这样访问:
$custom_field_value = $post->custom['some_custom_field_name'];
3。通过meta
方式访问
上面介绍的两种方法都会直接return数据库的值。如果您使用像 Advanced Custom Fields 这样的插件,您可能不想要来自数据库的原始值,而是一个被插件正确过滤的值。那么你应该使用 meta()
method:
$custom_field_value = $post->meta('some_custom_field_name');
我正在使用 Wordpress Timber 构建我的 wordpress 主题,我想知道如何在木材中获取自定义字段?我指的是 php 文件而不是树枝模板文件。
是否有获取自定义字段的功能?现在这种方法不起作用:
$post = new TimberPost();
$post->some_custom_field_name;
当您拥有 Timber post 时,目前有 3 种不同的方式可以访问自定义字段值。在Twig中,可能写起来更容易,但Twig最终在幕后被翻译成PHP,所以PHP!
中肯定有办法1。通过 属性
直接访问当您创建新的 Timber post 时,Timber 会自动使用可直接作为属性访问的自定义字段值填充您的 post 对象。
因此,如果您有一个名为 some_custom_field_name
的自定义字段,您应该能够按照您尝试过的方式访问它:
$custom_field_value = $post->some_custom_field_name;
如果您的值未设置,您可以随时通过 var_dump()
:
var_dump( $post );
另请参阅Debugging Guide。
2。通过custom
属性
访问
Timber 还将所有自定义字段值作为数组复制到 post 上名为 custom
的 属性。所以你的领域也应该像这样访问:
$custom_field_value = $post->custom['some_custom_field_name'];
3。通过meta
方式访问
上面介绍的两种方法都会直接return数据库的值。如果您使用像 Advanced Custom Fields 这样的插件,您可能不想要来自数据库的原始值,而是一个被插件正确过滤的值。那么你应该使用 meta()
method:
$custom_field_value = $post->meta('some_custom_field_name');