Standing on the Shoulder of Linus

Home / 2013 / 11月 / 06 / WordPress Advanced Custom Fields プラグインで不要なフィールドを削除する

WordPress Advanced Custom Fields プラグインで不要なフィールドを削除する

Advanced Custom Fields ver.4.3.0 がリリースされました。今まではアドオン扱いだった Google Map が標準搭載になりました。標準になることで、利用する人はインストールする手間が減りますが、利用しない人はフィールドの選択時のドロップダウンリストが長くなってうざったい、と思うかもしれません。なので、Advanced Custom Fields で不要なフィールドを削除する方法を紹介します。

Advanced Custom Fields には様々なフックが用意されており、カスタマイズしやすくなっています。今回のカスタマイズにも、フックが役立ちます。

core/views/meta_box_fields.php に

$field_types = apply_filters('acf/registered_fields', array());

があります。この acf/registered_fieldsフィルターフックを利用します。このフィルターで編集できる配列は

array(6) {
  ["基本"]=>
  array(5) {
    ["text"]=>
    string(12) "テキスト"
    ["textarea"]=>
    string(21) "テキストエリア"
    ["number"]=>
    string(6) "数値"
    ["email"]=>
    string(9) "メール"
    ["password"]=>
    string(15) "パスワード"
  }
  ["Content"]=>
  array(3) {
    ["wysiwyg"]=>
    string(20) "Wysiwyg エディタ"
    ["image"]=>
    string(6) "画像"
    ["file"]=>
    string(12) "ファイル"
  }
  ["選択肢"]=>
  array(4) {
    ["select"]=>
    string(24) "セレクトボックス"
    ["checkbox"]=>
    string(24) "チェックボックス"
    ["radio"]=>
    string(18) "ラジオボタン"
    ["true_false"]=>
    string(7) "真/偽"
  }
  ["Relational"]=>
  array(5) {
    ["page_link"]=>
    string(18) "ページリンク"
    ["post_object"]=>
    string(24) "投稿オブジェクト"
    ["relationship"]=>
    string(6) "関連"
    ["taxonomy"]=>
    string(18) "タクソノミー"
    ["user"]=>
    string(12) "ユーザー"
  }
  ["jQuery"]=>
  array(3) {
    ["google_map"]=>
    string(10) "Google Map"
    ["date_picker"]=>
    string(21) "デイトピッカー"
    ["color_picker"]=>
    string(21) "カラーピッカー"
  }
  ["レイアウト"]=>
  array(2) {
    ["message"]=>
    string(15) "メッセージ"
    ["tab"]=>
    string(6) "タブ"
  }
}

となっています。ここの配列から不要なものを削除すると、フィールド選択の候補に表示されなくなります。

たとえば、「真/偽」「デイトピッカー」を削除する場合です。

add_filter('acf/registered_fields','remove_default_fields',11);
function remove_default_fields($array) {
    unset($array['選択肢']['true_false']);
    unset($array['jQuery']['date_picker']);
    return $array;
}

削除前
acf_fields

削除後
acf_fields_2

ただし基本に入っている「テキスト」や「数値」は、プラグインの他の箇所でも使われているので、ここで取り除いてしまうと、不具合がでる可能性があるので注意してください。

関連

Posted in WordPress | Tagged プラグイン, 管理画面カスタマイズ
← PHP逆引きレシピ第二版 Advanced Custom Fields ver.4.3.0 がリリースされました。 →

アーカイブ

人気の投稿とページ

  • キンドル本を印刷する(PDFに変換する)方法
  • 名古屋駅から国際センターまでの道のり(徒歩)
  • AGPL ライセンス(GPLとは似ているが違いもある)
  • 6年使ったイーモバイル(Y!mobile)を解約手続。店頭でSIM返却
  • JP-Secure SiteGuard WP Pluginは不正ログイン防止に役立つか

プロフィール

水野史土:月70万PVホームページ制作会社のレスキューワーク株式会社で、PHPソフトウェアのサポートを行っている。concrete5コミュニティリーダー、Novius OSコアコード貢献者でもある。 詳しくは管理者詳細参照。
大好評WordPress書籍「WordPressユーザーのためのPHP入門 はじめから、ていねいに。」サポートページ

Copyright © 2015 Standing on the Shoulder of Linus.