检查 Wordpress 中是否存在自定义字段


Checking if Custom Fields exist in Wordpress

这是我关于堆栈溢出的第一个问题,所以请耐心等待。

我有一个安装了高级自定义字段插件的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; ?>