我正在使用管理列以及 ACF(高级自定义字段) 在后端我在ACF中为一些文本创建了一个字段,现在使用管理列我在后端可以查看该字段,以便我添加一些我想要的文本。
现在我想在前端的my-account页面中显示此文本。 现在我到目前为止,我已将代码段添加到帐户页面,并且可以正常工作。
但它只显示我在ACF中填写的DEFAULT值,而不是我在管理自定义列后端输入的值。
所以为了在我的用户后端页面中进一步澄清,我给用户一串文字。 该文本需要显示在用户帐户的前端
因此所有用户都应该有不同的文本字符串。我可以使用管理列添加的文本 这没有问题,但它只显示(回声,打印)这个文本,我已经填写到woocommerce帐户页面是不工作的。
同样,我只从ACF获得默认结果文本,而不是我放入的文本。
为了获取默认消息,我现在使用的代码是:
<?php echo the_field('ethwallet'); ?>
这是我现在的默认消息。不是我进入后端的结果。
答案 0 :(得分:0)
我意识到这是一个较旧的问题,但我想提供一个答案,因为它已被查看了数百次。
要从 User 对象中检索自定义元数据(特别是 ACF 字段数据),您需要将当前用户 ID 作为第二个参数传递给 get_field
或 the_field
函数。
像这样:
<?php echo get_field( 'ethwallet', 'user_' . get_current_user_id() ); ?>
它的工作方式是 ACF 需要格式化为 user_X
的第二个参数,其中 X
是用户的实际 ID(1、347,等等)。因此,我们将字符串部分 ('user_') 与登录用户的实际 ID 连接起来,构成要传递给 the_field()
或 get_field()
的完整参数。
附言这是一个次要的细节,但在这种情况下 echo the_field();
是多余的,因为 the_field()
默认回显其值。您可能会省略 echo
或执行 echo get_field();