【问题标题】:Using PHP variable within ACF repeater field在 ACF 转发器字段中使用 PHP 变量
【发布时间】:2019-08-15 14:20:28
【问题描述】:

使用 ACF(高级自定义字段)重复字段时,标记应如下所示以启动循环。

<? if( have_rows('my-repeating-field) ): ?>
<? endif ?>

但是,我想让这个动态化,这意味着我使用另一个 PHP 变量作为 if() 代码的一部分,如下所示:

<? $variable = get_field('my-variable-field'); ?>

<? if( have_rows("'" . $variable . "-repeating-field" . "'") ): ?>
<? endif ?>

但是,这不起作用。有没有办法用 ACF/PHP 做到这一点?对我来说似乎很简单?

【问题讨论】:

  • 你检查$variable有没有价值?您可以尝试$row_field = $variable . '-repeating-field';,然后使用var_dump 检查它是否具有更正值。然后如果它是正确的尝试if(have_rows($row_field)...
  • 是的,它按预期输出,但仍然不起作用。即 $变量。 '-repeating-field' = variablevalue-repeating-field ?>
  • “variablevalue-repeating-field”是 ACF 转发器字段名称吗?
  • 您以一种奇怪的方式引用字符串,因此该值将包含单引号...have_rows($variable . '-repeating-field') 应该足够了
  • 干杯 @naththedeveloper - 这行得通!如果您想将其放入答案中,我会将其标记为已接受。

标签: php wordpress advanced-custom-fields


【解决方案1】:

问题是您连接字符串的方式会导致传递给have_rows 的最终值在其中包含引号。你只需要连接字符串的值和结尾,就足够了。

have_rows($variable . '-repeating-field')

【讨论】:

    猜你喜欢
    • 2018-10-06
    • 1970-01-01
    • 1970-01-01
    • 2020-12-22
    • 2020-05-15
    • 2019-03-19
    • 2013-04-09
    • 2018-04-12
    • 2021-04-26
    相关资源
    最近更新 更多