【问题标题】:Advanced Custom Fields - display label and value only if value entered高级自定义字段 - 仅在输入值时显示标签和值
【发布时间】:2017-03-09 04:57:00
【问题描述】:

我目前有以下:

<?php

$field_name = "text_field";
$field = get_field_object($field_name);   

if( isset($field['value'] ): ?> 

<table class="">
    <tbody>
        <tr class="">
            <th><?php echo $field['label']; ?></th>
            <td><?php echo $field['value']; ?></td>
        </tr>
    </tbody>
</table>

<?php endif; ?>

我的目标是让整个表格行折叠起来,如果没有输入值则不显示。

显然是新手。感谢您的观看。

【问题讨论】:

  • &lt;tr&gt;&lt;/tr&gt; 包裹在if( isset($field['value']) ){}
  • 像这样(见上面的问题)?
  • 不,不完全是。那将隐藏整个表格。您应该将 if 语句放在 &lt;tbody&gt;&lt;tr&gt; 之间,将行括起来。然后该行将被隐藏。附带说明一下,您不应更改答案以反映我所说的内容,否则人们无法帮助您解决最初的问题。
  • 好的。调整。将测试。是的,我通常不会更新问题,但在这种情况下,问题和问题一样。刚刚更新了代码。谢谢。
  • 希望这样更好:
    ?>

标签: php wordpress if-statement echo advanced-custom-fields


【解决方案1】:

根据 ACF 文档,将始终设置 field['value']。

改为 if (!empty($field['value']) 或 just if ($field['value'])。

因此它应该是这样的:

<?php
$field_name = "text_field";
$field = get_field_object($field_name);   
?>

<table>
    <tbody>
    <?php
    if ($field['value']): ?> 
        <tr>
            <th><?php echo $field['label']; ?></th>
            <td><?php echo $field['value']; ?></td>
        </tr>
    <?php endif; ?>
    </tbody>
</table>

【讨论】:

    猜你喜欢
    • 2018-11-15
    • 2015-07-07
    • 2019-04-14
    • 1970-01-01
    • 2016-11-13
    • 1970-01-01
    • 2018-08-26
    • 1970-01-01
    • 2019-08-20
    相关资源
    最近更新 更多