Custom Field Suiteでチェックボックスのフィールドを追加する

  WordPress, WordPressプラグイン 

 

photo credit: Ben Hutchison via photopin cc

photo credit: Ben Hutchison via photopin cc

wordpressのカスタムフィールド管理プラグインは数多く存在しますが、Custom Field Suiteをよく利用しています。

http://wordpress.org/plugins/custom-field-suite/

フィールドの複製機能がデフォルトで利用できたり、検索プラグインとの相性も良いため、ほとんどの案件で使用しています。

元々柔軟な作りをしていて、テキストフィールドからファイルアップロードまで、設定できるフィールドタイプの種類も充実しているのですが、不満を上げるとすればチェックボックスを設定する機能が無いことでしょうか。

複数選択可能なドロップダウンリストは用意されてますが、中々ご年配のクライアントさんには直感的に扱いづらいようです。

そこでCustom Field Suiteにチェックボックスの設定項目を追加する方法を調べてみました。

Custom Field Suiteには任意のフィールドタイプを追加するフィルターが用意されている

photo credit: atibens via photopin cc

photo credit: atibens via photopin cc

サポートサイトのドキュメントに任意のフィールドタイプを追加するサンプルがありました。

https://uproot.us/docs/creating-custom-field-types/

ふむふむ・・・どうやら、functions.phpで任意のフィールドタイプを設定したclassファイルを読み込んだらいいみたいですね。

実際にチェックボックス機能を追加してみます。

functions.phpで読み込むクラスファイルとフィルターの設定

まずはフィルターにフックして、オリジナルフィールドの設定ファイルを読み込むようにします。
今回はテーマファイル内の「cfs_checkbox.php」に設定を記述しますので、これを読み込みます。

 

クラスファイルの設定

基本的にはcfs_fieldクラスを拡張して処理を追加していきます。今回はプラグインファイル内に元々用意されてる、select.phpをコピーしてチェックボックスを設定します。

cfs_checkbox.phpはこのように記述します。
2014/11/19 最新版のcustom field suiteでも動作するように修正しました
2016/09/06 php7でWarning: Declaration of〜が表示されるのを修正しました。
input_head、repare_value、format_value_for_apiメソッドの引数フォーマットを修正してます。

 

funcitons.phpで$field_typesに設定したテキストを各所に設定するのが肝ですね。

管理画面に項目が追加された!

これで管理画面にチェックボックスが追加されます。

スクリーンショット(2014-01-23 1.48.50)

フィールドの設定画面を見ると「チェックボックス」項目が追加されています。

スクリーンショット(2014-01-23 1.49.00)

選択肢の設定はセレクトボックスと全く同じです。

あとは記事作成画面には無事に反映されれば・・・!

スクリーンショット(2014-01-23 1.54.20)

お〜!チェックボックスが表示されてる〜!

最後に

チェックボックスが表示されたので直感的な操作がやりやすくなりました!

因みに今回設定したチェックボックスの値をテンプレートファイル内で取得する際は、セレクトボックスと同様の方法でOKです。

フィールドタイプの設定はクラスファイルの関連付けさえ間違えなければ後は自由に設定できるので、特殊なフィールドが必要な場合にも対応しやすそうですね。

 

コレ聴きながら書きました!

深夜の作業中、頭を切り替えたいときはこれで!ニューウェーーーーブ!!

ブログの更新情報はこちらで配信しています。

   

follow us in feedly

ad

wpx

  • JavaScript 第6版

    定番のO'Reilly本でJavaScriptを深く学びましょう!気になる箇所をざっと読むだけでも、とても参考になります。ざっと読みを繰り返すのがオススメ。超良書です!
  • wordpressに慣れてくると、今度は痒いところに手が届く細やかなカスタマイズをしたいですよね。phpを利用したカスタマイズからデータベースに直接アクセスする方法がとにかく丁寧に解説されています。個人的には第5章、「プラグインの自作」が物凄く役に立ちました!
  • サイトの拡張性を飛躍的に高める WordPressプラグイン開発のバイブル

    WordPressプラグインの開発から運用までカバーする、プラグイン開発のまさに「バイブル」です。

    セキュリティやマネタイズにも触れられていて参考になるところ多すぎです。
  • サンプルが大充実!定番のjQuery入門書です。
    本の内容に沿って制作を進めるだけで、即実戦投入できる程の機能ができ上がります。
    解説が丁寧且つチートシートも付いているのでjQueryについての理解がぐんと深まりますよ!
  • WordPressのテーマ制作やテンプレートについての概念など、実際にサイトを制作しながらWordPressを知ることができます。
    制作するだけでなく、ユーザビリティからSEO、さらにはパフォーマンス改善にも触れているという充実ぶり。
    オリジナルテーマ制作のお供にどうぞ!
PAGE TOP ↑