![](https://cxg-design.jp/wp-content/uploads/2024/04/allergenthumb001.png)
ACFの真/偽で、アイコンをチェックボックスで選択して表示
ACFでは、チェックボックス、ラジオボタンなどを選択して、文字などを表示することができます。前回は、チェックボックスで、リスト表示する方法を紹介しました。今回は、ACFの真/偽で、アイコンをチェックボックスで選択して表示する方法を紹介します。
今回のDEMOは、アレルゲンマークを表示しています。
7大アレルゲンをチェックボックで、必要なものをチェックすると、投稿に表示されます。今回は、全てのアイコンを表示しています。
アイコン作成
今回は、AIで卵、乳、小麦、えび、かに、落花生、そばのアレルゲンのアイコンを作成しました。SVGで書き出します。
ACF設定
まず、ACFの設定をします。新たなフィールドグループを作成し、フィールドグループ名にアレルゲンアイコンとします。フィールドグループを真/偽にします。編集画面に表示するフィールドラベルに卵、PHPに記入するフィールド名をadd_eggにし、保存します。
![](https://cxg-design.jp/wp-content/uploads/2024/04/5b4800eedeacbe92ee3573f3fefbdd54.png)
フィールドグループを真/偽に。フィールドラベル、フィールド名を入力し保存。
設定項目 | 設定値 |
---|---|
フィールドタイプ | 真/偽 |
フィールドラベル | 卵 |
フィールド名 | add_egg |
メッセージ | 空欄 |
初期値 | チェック無 |
他の乳、小麦、えび、かに、落花生、そばも同じように、フィールドラベル、フィールド名を変えて、作成します。
![](https://cxg-design.jp/wp-content/uploads/2024/04/1f98c640104a1db5e3732f8a41af1603.png)
7つのフィールドを作成
コード
PHP、CSSの設定をしていきます。尚、コードはWeb制作時に設定するので、管理者には必要ありません。
まず、設置したいシングルページのループ内に下記のコードを入力します。
<div class="allergies_box">
<div class="al_heading">ALLERGEN</div>
<?php if (get_field('add_egg')): ?>
<span class='allergen_icon'>
<img src="<?php echo esc_url(get_theme_file_uri('/assets/images/egg01.svg')); ?>" alt="卵" >
</span>
<?php endif; ?>
<?php if (get_field('add_milk')): ?>
<span class='allergen_icon'>
<img src="<?php echo esc_url(get_theme_file_uri('/assets/images/milk01.svg')); ?>" alt="乳" >
</span>
<?php endif; ?>
<?php if (get_field('add_wheat')): ?>
<span class='allergen_icon'>
<img src="<?php echo esc_url(get_theme_file_uri('/assets/images/wheat01.svg')); ?>" alt="小麦" >
</span>
<?php endif; ?>
<?php if (get_field('add_shrimp')): ?>
<span class='allergen_icon'>
<img src="<?php echo esc_url(get_theme_file_uri('/assets/images/shrimp01.svg')); ?>" alt="えび" >
</span>
<?php endif; ?>
<?php if (get_field('add_crab')): ?>
<span class='allergen_icon'>
<img src="<?php echo esc_url(get_theme_file_uri('/assets/images/crab01.svg')); ?>" alt="かに" >
</span>
<?php endif; ?>
<?php if (get_field('add_peanut')): ?>
<span class='allergen_icon'>
<img src="<?php echo esc_url(get_theme_file_uri('/assets/images/peanut01.svg')); ?>" alt="落花生" >
</span>
<?php endif; ?>
<?php if (get_field('add_soba')): ?>
<span class='allergen_icon'>
<img src="<?php echo esc_url(get_theme_file_uri('/assets/images/soba01.svg')); ?>" alt="そば" >
</span>
<?php endif; ?>
</div>
次に、CSSの設定をします。これは、投稿テンプレートのデザインに合わせて設定します。
.allergies_box{
width: 100%;
padding-right:10%;
padding-left:10%;
}
.allergies_box .al_heading{
margin: auto;
margin-bottom: 1.5em;
border-bottom: solid 1px #272727;
font-size:1.7em;
font-weight:500;
letter-spacing:0.1em;
}
.allergies_icons{
display:flex;
flex-wrap: wrap;
gap: 0.45em;
}
.allergen_icon {
width: 4.5em;
height: 4.5em;
}
.allergen_icon img{
width: 4.5em;
height: 4.5em;
}
設置
ブロックエディターの編集画面の下にアレルゲンアイコンのチェックボックスが表示されています。表示したいアレルゲンにチェックを入れると表示されます。これで完成です。
![](https://cxg-design.jp/wp-content/uploads/2024/04/c5c08b23d6b5b6ecb819a57195b8d5a2-1.png)
表示したいアレルゲンにチェックを入れる
DEMOでは、全てのアイコンを表示していますが、えび、落花生のチェックを外すと、非表示になります。
![](https://cxg-design.jp/wp-content/uploads/2024/04/8141b9554c185e79d621e35c3eaa863c-1.png)
えび、落花生のチェックを外すと
![](https://cxg-design.jp/wp-content/uploads/2024/05/allergenthumb002.png)
非表示になります。
これで、今回の説明は終了です。チェックボックスのみでアイコンを設置できるので、簡単ですね。テンプレートページでは、このようにACFで設定しておけば、レイアウト不要なのでとても便利です。