这是我关于堆栈溢出的第一个问题,所以请耐心等待。
我有一个安装了高级自定义字段插件的WordPress
站点。该网站具有自定义帖子类型,其中包含各种 ACF 自定义字段。
并非所有自定义域都是必需的,某些自定义域也分组到其自己的表格结构中。
我需要检查 2 个自定义字段中是否有内容,以及它们是否显示表格。
我PHP
相当有限,但我做了一些研究,它应该有效,但它不是。
代码如下:
<?php if (get_field( 'meeting_documents_agendas' && 'meeting_documents_minutes')) : ?>
<?php if ( get_field( 'meeting_documents_agendas' ) ) : ?>
<a href="<?php echo get_field('meeting_documents_agendas');?>">Download file</a>
<? endif ?>
<?php if ( get_field( 'meeting_documents_minutes' ) ) : ?>
<a href="<?php echo get_field('meeting_documents_minutes');?>">Download file</a>
<? endif ?>
<? endif ?>
基本上什么都没有显示,即使我在那些自定义字段中有内容。
代码正确吗? 会不会是WordPress
错误?
尝试
<? if (get_field('meeting_documents_agendas') || get_field('meeting_documents_minutes')): ?>
这意味着:如果设置了一个或两个字段,则显示表。
不要使用 &&
,因为这意味着必须设置这两个字段。使用get_field()
两次,因为您希望在逻辑上链接get_fields()
的结果,而不是参数本身。
这对我也很有帮助。虽然我的问题有点不同,因为我使用的是sub_fields。我需要代码来检查两个sub_fields是否有数据。
这是我的代码。
<?php if (get_sub_field( 'additional_link_url' ) && get_sub_field('additional_link_text') ) : ?>
<br /><a target="_blank" href="<?php echo get_sub_field('additional_link_url')['url']; ?>"><?php echo get_sub_field('additional_link_text'); ?></a>
<?php endif; ?>