Advanced Custom Fields でチェック項目を何とかする[WordPress]

Advanced Custom Fields でチェック項目を

「何とかする」ってザックリとしたタイトルで、すいません。
…いやいや、説明がなかなか難しいんですよ。具体的に書いた方が分かりやすいので、そうします。

例えば、とある介護施設で社員募集のページを作ったとします。
募集する職種は、介護士・看護師・作業療法士・ケアマネージャー・事務職など、いくつかあります。
で、関連施設も10箇所程あり、それぞれの施設で募集している職種が違っていて、介護士はA施設とB施設で募集しているけど、看護師はA施設とC施設で募集している…というようなケースだとします。

この職種はどこの施設で募集しているのかを簡単に表示できるように、チェックを入れたら募集している施設が出てくる様な仕組みはできないものか?という相談を受けました。

…と、ここまで分かりましたかね?えっ分からない?
まあ、自分のための備忘録なので、分かる人だけ分かって下さい。もぉーし分けございません(←ホテルの高嶋政伸風:懐かしい!)。

すっかり前置きが長くなりましたが、姉さん事件です!ウソです。
…真面目にやりますね。
今回は Advanced Custom Fields を使い、チェックを入れたらある項目を表示するような仕組みを作ります。

使用環境

WordPress 4.3.2
テーマ:Enfold 3.4.2


プラグイン:Advanced Custom Fields 4.4.4

Advanced Custom Fields を使ってカスタムフィールドを追加します。
カスタムフィールドって何???って人は、自分で調べてくださいね。お願いします。

まず、フィールドグループを作ります。

customfields_group

続いて、フィールドグループ「施設選択」の中にフィールドを作っていきます。

customfields_checkfield

チェックボックスって真/偽を判別するような機能ですよね。
なので、「真/偽」のフィールドタイプを作ってチェックボックス準備します。

で、今作った「チェック01:太陽の丘」が「真」になった際に、「Wysiwyg エディタ」が表示されるようにフィールドを作ります。

customfields_shisetsufield

フィールドタイプを「Wysiwyg エディタ」にして、
チェックが入ったら項目を表示したいので、必須は「はい」、
条件判定も「はい」にして、「チェック01:太陽の丘」が「チェックされています」と「等しい」場合とします。

これでカスタムフィールドの仕組みができました。


今度は、テーマファイルの編集です。
今回使っているテーマ「enfold」でのコードを書きますので、他のテーマの場合は、適宜変更してください。

footer.phpの<div id=’btmNavi’>の直前に

と記述します。
これで実際のページにカスタムフィールドに入力した内容が表示されるようになりました。


諸々の仕組みが整ったので、固定ページを編集していきます。
Advanced Custom Fields で作ったチェックボックスが並んでいるので、必要な物にチェックを入れます。

customfields_checkbox

チェックを入れた項目に対して、「Wysiwyg エディタ」が表示されるので、表示したい内容を入れます。

customfields_shisetsueditor

ただ、一回一回入れるのも大変なので、テンプレートとか用意するといいかもしれませんね。
以前は「Global Content Blocks」という便利なプラグインがあったんだけどなぁ。
いつの間にかなくなっちゃいました。残念 無念 知念里奈!