2

WordPressで高度なカスタムフィールドのチェックボックス機能を使用しています。

私は<ul>4つで作成しました<li>

<ul class="post-icons">
  <li class="microphone" title="Alt text"></li>
  <li class="video" title="Alt text"></li>
  <li class="text" title="Alt text"></li>
  <li class="image" title="Alt text"></li>
</ul>

そして、高度なカスタムフィールドに4つのチェックボックスを作成しました。このPHPをで使用する場合class="(here)"

<?php echo implode(' ', get_field('field_name')); ?>

チェックボックスの値をクラス""に出力しますが、作成した4つのチェックボックスの値すべてを出力します。適切な場所に適切なものだけを印刷したいと思います。

クラスを使用するのが最善の方法ですが.active、高度なカスタムフィールドでは、同じ値の複数のチェックボックスを使用できません。つまり、画像テキストのチェックボックスをオンにすると、印刷さ.activeれるか、何か賢明なことになります。

<li class="image" title="Alt text"></li> and 
<li class="text" title="Alt text"></li> 

Like = <li class="image active" title="Alt text"></li> and <li class="text active" title="Alt text"></li>

4つのチェックボックスがあります

  • ビデオ
  • 文章
  • 画像

そして4つ<li>

 - <li class="video"></li>
 - <li class="text"></li>
 - <li class="microphone"></li>
 - <li class="image"></li>

マイク=サウンド

.active正しい<li> class""アイテムに印刷したいのですが。対応するチェックボックスがチェックされている場合

高度なカスタムフィールドのドキュメントにリンクしますチェックボックスプロジェクトに必要なものを作成する方法がよくわかりませんでした。

ドキュメンテーション

4

1 に答える 1

5

質問から、どのフィールドが存在するかは明確ではありません。

チェックボックス フィールドの場合 ( PHP 三項演算子を確認してください):

// If checked, the string is 'active', otherwise empty
$image = ( get_field( 'image_field' ) ) ? 'active' : '';
$video = ( get_field( 'video_field' ) ) ? 'active' : ''; 

<li class="image <?php echo $image; ?>" title="Alt text"></li> 
<li class="video <?php echo $video; ?>" title="Alt text"></li> 

しかし、さらに良いのは、複数の選択を許可するSelect フィールドです ( PHP の in_arrayを確認してください)。
acf 複数選択

$get_field = get_field( 'field_name' ); 
$image = in_array( 'image', $get_field) ? 'active' : '';
$video = in_array( 'video', $get_field) ? 'active' : '';

<li class="image <?php echo $image; ?>" title="Alt text"></li> 
<li class="video <?php echo $video; ?>" title="Alt text"></li> 
于 2013-01-18T16:30:12.523 に答える