微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何将高级自定义字段与木材一起使用来检索数组值?

如何解决如何将高级自定义字段与木材一起使用来检索数组值?

我试图通过首先调用自定义字段(使用高级自定义字段插件),使用数组值来检索用户的元数据,问题是我可以使用 PHP 来做到这一点,但我必须使用 Timber,因为我的主题并且没有太多信息教如何使用 Timber 和 ACF(使用高级自定义字段),即使可用的信息也很混乱和很差。我正在使用带有 Gantry5 框架和 Helium 主题wordpress

首先我将ACF中的自定义字段设置为“关系>用户”,然后我将数据格式设置为用户数组,保存,然后我打开一个帖子并设置帖子内的字段,通过选择每个字段的用户.

所以假设字段名称是“post_autor”,我需要在帖子下方显示它,唯一的问题是我需要检索它的数组,所以这就是我试图找到数组值的方法

{% set author = post.get_field("post_autor") %} then {{ dump() }}

这行代码在这里: “themes/g5_helium/custom/views/partials/content-single.html.twig”,在这部分之后:

{# Begin Page Content #}
                {{ post.paged_content|raw }}

                {{ function('wp_link_pages',{'before': '<div class="page-links" itemprop="pagination"><ul class="pagination-list">','after': '</ul></div>','link_before': '<span class="page-number page-numbers">','link_after': '</span>','echo': 0}) }}
                {# End Page Content #}

这是我得到的结果:

then array(1) { [0]=> array(11) { ["ID"]=> int(1) ["user_firstname"]=> string(7) "John" ["user_lastname"]=> string(5) "Doe" ["nickname"]=> string(4) "john" ["user_nicename"]=> string(13) "johndoe" ["display_name"]=> string(13) "John Doe" ["user_email"]=> string(23) "contact@site.com" ["user_url"]=> string(23) "https://siteDOTcom" ["user_registered"]=> string(19) "2019-03-12 03:53:10" ["user_description"]=> string(0) "" ["user_avatar"]=> string(472) "John Doe" } }

当然我在这里发帖之前更改了一些数据,因为这是个人数据。

我相信本教程 https://www.advancedcustomfields.com/resources/querying-relationship-fields/ 与我要实现的目标有关,但我不确定。

基本上是这样的:

Field name --
             => Array value 1
             => Array value 2
             => Array value 3

首先我需要获取该字段,然后检索其“子”值并显示它们。我尽力解释了这一点,如果其他人需要更多信息,尽管问。

提前致谢。

解决方法

要访问二维数组中的元素,您可以执行 {{ author.user_firstname }} 或者如果有进一步的级别,您可以执行 {{ author.level1.level2 }}

仅供参考,您仍然可以使用 php,然后通过扩展上下文将数据添加到您的树枝文件中。

例如在你的 single.php

// usual php stuff
$logic = some_logic_function();

// get context
$context = Timber::context();

// add to context
$context['logic'] = $logic;

// render view
Timber::render('single.twig',$context);

然后在您的 single.twig 文件中,您可以这样访问数据:

{{ logic }}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。