0

我正在为具有链接的块使用 Advanced Custom Fieds Repeater 字段插件。但是,每个块都有两种类型的链接:外部链接或内部链接(这个链接指向另一个 Wordpress 页面)。

我正在尝试编写一个调用一个或另一个的函数,具体取决于该字段在 UI 中是否为空。

我写的那个不工作,我想知道我是否正在使用它写。

这是我写的函数。

    function mediaLink(){
    if (the_sub_field('block_int_link') == false) {
     echo the_sub_field('block_ext_link');
    }
}

这是在 HTML 中使用的。

<a href="<?php echo mediaLink();?>">
<div class="<?php echo $media_class;?>" style="background-image:url('<?php echo $image[0];?>');">
<p><span id="headtitle"><?php echo the_sub_field('block_headline');?></span><br/><?php echo the_sub_field('block_description');?></p>
</div>
</a>

我将内部链接设置为 Allow Null。

4

1 回答 1

0

the_sub_field 循环工作。您不能编写函数来检查子字段。而且由于中继器返回值数组,因此您需要循环检查每个链接是空的还是已填充的。

这里的repeat_field_name应该替换为正确的repeater_field slugID是您使用repeater 字段填充元数据的页面或帖子ID 。

前任:

$rep_field = get_field('repeat_field_name','ID');
if( !empty($rep_field) && count($rep_field) > 0 ) {
   foreach( $rep_field as $r ) {
      if( $r['block_int_link'] == false ) {
        //echo $r['block_ext_link'];
        echo '<a href="'.$r['block_ext_link].'"></a>';
      }
   }
}
于 2014-01-10T11:50:04.990 回答