ACF多个空字段

时间:2016-11-02 16:38:46

标签: wordpress advanced-custom-fields is-empty

我为特定于自定义帖子类型的ACF帖子设置了两个字段。

edition_numberartist_proofs

某些帖子类型没有这些数据集,而有些帖子类型则没有。我将此函数放在content-single.php模板中,这样如果它确实有这个信息,它应该通过。

出于某种原因,即使我的帖子在这两个字段中都没有任何内容,这仍然会返回'版本'。

function ffm_edition() {  
    if ( get_field( 'edition_number' ) && get_field( 'artist_proofs' ) ) { 
        echo 'Edition of ' , the_field( 'edition_number' ) , ', ' , the_field( 'artist_proofs' ) , 'APs';
    } elseif ( empty( get_field( 'artist_proofs' ) ) ) {
        echo 'Edition of ' , the_field( 'edition_number' );
    } elseif ( empty( get_field( 'edition_number' ) && get_field( 'artist_proofs' ) ) ) {
        //DO NOTHING
    }
}

我有什么遗漏吗?

1 个答案:

答案 0 :(得分:0)

我意识到这是一个简单的背景错误...

第二项检查只是检查artist_proofs字段是否为空。由于两者都是空的,因此它将始终返回edition of。我需要检查一个有效的字符串+一个空字符串:

} elseif ( get_field( 'edition_number' ) && empty( get_field( 'artist_proofs' ) ) ) {

完整摘录:

function ffm_edition() {  
  if ( get_field( 'edition_number' ) && get_field( 'artist_proofs' ) ) { 
      echo 'Edition of ' , the_field( 'edition_number' ) , ' + ' , the_field( 'artist_proofs' ) , 'APs';
  } elseif ( get_field( 'edition_number' ) && empty( get_field( 'artist_proofs' ) ) ) {
      echo 'Edition of ' , the_field( 'edition_number' );
  } elseif ( empty( get_field( 'edition_number' ) ) && empty( get_field( 'artist_proofs' ) ) ) {
    //DO NOTHING
  }
}