2014-01-10 61 views
0

我爲具有鏈接的塊使用高級定製Fieds中繼器字段插件。但是,每個塊有兩種類型的鏈接:外部鏈接或內部鏈接(這一個通向另一個Wordpress頁面)。ACF中繼器字段:使用鏈接功能

我想寫一個函數調用一個或另一個,這取決於該字段是否爲空或不在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> 

而我有內部鏈接設置爲允許空。

回答

0

the_sub_field在循環中工作。您無法編寫函數來檢查子字段。 由於中繼器返回數組值,您需要循環檢查每個鏈接是否爲空或填充。

這裏repeat_field_name應適當repeater_field塞ID頁面或帖子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>'; 
     } 
    } 
} 
+0

我很抱歉,但我無法理解的ID是什麼。我使用的模塊的字段名稱是「media_block」,所以我知道了,但ID不太確定。此模塊也是include和get_field(media_block)已經在主文件上使用,所以我不確定這是否有所作爲。 – rawrambee

+0

ID是頁面ID或帖子ID。 – Pranita