Advanced Custom Field チェックボックスを多言語対応で
2023年7月17日
ACFのチェックボックスで、フィールドタイプをチェックボックスにし、日本語と英語の2か国語に対応させたい場合。
valueとlabelで言語ごとに出し分ける事ができるので、選択肢の部分を以下のように入力。
Exhibition : 主催展覧会
Event : イベント
Co-sponsored : 共催展
Gallery Exhibitions : ギャラリー展示
(:の前後には半角のスペース必須)
Exhibitionがvalue
主催展覧会がlabel
これはあくまでも二か国語の場合で三カ国以上の場合には他の方法が必要だが、あくまでも二か国語に対応ということなら簡単なので覚書です。
以下はBOGO使用時に日本語と英語で出し分けたコード。
<?php $field = get_field( 'cat-sign' ); if($field): foreach( $field as $cat_sign ): ?> <?php $locale = get_locale(); if('en_US' == $locale ) { ?> <?php echo $cat_sign['value']; ?> <?php } else { ?> <?php echo $cat_sign['label']; ?> <?php } ?> <?php endforeach; endif; ?>
2か国語ならとても便利に使えますがさらに複数の言語を利用したい場合は言語数のチェックボックスを作成するしかなさそうです。