高级自定义字段、木材和检索用户名



我正试图找到一种方法来显示每个用户的名字在帖子下面,他们将被列为作者和贡献者,每个名字将链接到他们的个人资料,在他们的个人资料中也有字段(来自最终成员插件),这是他们的加密钱包公共地址,这是他们可以用来接收加密货币捐赠的一种方式他们对博客的贡献。我用下面的草图总结了这一切:

草图(或截图)

问题是我正在使用Gantry5框架,直到最近我才发现Gantry使用自己的编程语言,称为Timber,这也带回了一些关于最终幻想XVIII的记忆,好吧,无论如何,我在这里面临的问题是我无法检索用户的名字。

文件名为"content-single.html"。,位于以下结构"themes/g5_helium/views/partials/"。使用Gantry5氦主题。但由于我已经创建了一个自定义覆盖,它位于:"主题/g5_helium/定制/视图/泛音">

我正在编辑这部分后面的区域:

{# 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 #}

这是我在Gantry社区的一个人帮助我之后使用的:

{% set post_id = function('get_the_ID') %}
{% set post = wordpress.call('Timber::get_post', post_id) %}
{{ post.meta('autor')|raw }}                
{{ post.meta('narrador')|raw }}

问题是,无论我设置用户数组或用户对象的数据格式,我得到"数组"作为输出。只有当我设置User ID时,我才会得到ID号,但这不是我需要的,我需要的是显示用户名,并将其链接到他们的个人资料,就像草图中显示的那样。当我检查木材文档时,它似乎没有太多关于ACF的信息。如果它只是php,我很容易找到一个解决方案,但我完全迷路了,因为它是木材。

有人帮我做了以下事情:

查看Timber/ACF集成的文档:

https://timber.github.io/docs/guides/acf-cookbook/

另外,Timber/Post还有一个方法叫做author:

https://timber.github.io/docs/reference/timber-post/作者见下面的例子,它有一个属性post.author.ID

<a href="{{post.author.link}}">{{post.author.name}}</a>

我总是发现有用的是{{ dump( post ) }},只是记住启用WP_DEBUG

您是否通过自定义字段分配作者?然后您可以尝试使用{{ post.get_field(" field_name") }}并将其赋值给这样的变量作为{% set author = post.get_field(" field_name") %} then {{ dump() }}的输出,看看是什么数据返回。

您需要转储变量,因此它应该是{% set author =post.get_field("autor") %}然后{{dump(author)}},使用WP_DEBUG在您的wp-config

中启用否则,请确保您添加PostTimber对象到$context代替WP_Post.

我按照说的做了,这是我在输出中收到的结果:

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" } }

但是现在我不知道如何使用它与木材,因为木材不接受PHP。

这是我试图使用的另一种方法来解决这个问题,但没有成功:https://stackoverflow.com/a/57478272/11457250

Timber使用一种名为twig的模板语言,使用双花括号输出值。一旦你设置了变量作者,你可以访问他们的数组值我固定的关键变量ie。{{ author.user_firstname }}

最新更新