0

リンクを持つブロックに Advanced Custom Fieds Repeater フィールド プラグインを使用しています。ただし、各ブロックには、外部リンクまたは内部リンク (別の Wordpress ページにつながるリンク) の 2 種類のリンクがあります。

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 スラッグに置き換える必要があり、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>';
      }
   }
}
于 2014-01-10T11:50:04.990 に答える