如何解决如何将高级自定义字段与木材一起使用来检索数组值?
我试图通过首先调用自定义字段(使用高级自定义字段插件),使用数组值来检索用户的元数据,问题是我可以使用 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 举报,一经查实,本站将立刻删除。