高级自定义域-仅当输入值时才显示标签和值

时间:2016-10-26 作者:vulgarbulgar

我目前有以下情况:

<?php

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

<table>
    <tbody>
    if( isset($field[\'value\'] ): ?> 
        <tr>
            <th><?php echo $field[\'label\']; ?></th>
            <td><?php echo $field[\'value\']; ?></td>
        </tr>
    <?php endif; ?>
    </tbody>
</table>
我的目标是,如果没有输入值,则使整个表行折叠并不显示。

显然是个新手。谢谢你看一看。

2 个回复
SO网友:jdm2112

你的PHP标签不匹配。使用此选项:

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

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

SO网友:vulgarbulgar

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

相反,如果(!empty($field[\'value\'])或仅如果($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>