Standing on the Shoulder of Linus

Home / 2013 / 4月 / 09 / WordPress カスタムフィールドと ACF (Advanced Custom Fields)

WordPress カスタムフィールドと ACF (Advanced Custom Fields)

WordPress カスタムフィールドと ACF (Advanced Custom Fields)について、議論が巻き起こっているようなので、参加してみます。

まず、Advanced Custom Fields(ACF)について。
Advanced Custom Fields は、WordPress のカスタムフィールドを使い易くするプラグインです。

ACF のメリット

Advanced Custom Fields プラグインにおける コラボレーション(WordCamp Tokyo 2012)にあるように、管理画面が使い易くなります。また、アドオンを追加する仕組みがあり、Advanced Custom Fields プラグインをベースに、自分で独自機能を追加することも容易です。

ACF のデメリット

カスタムフィールドのデータの持ち方、データの表示の仕方が特殊です(不具合ではなく、そういう設計をしている)。

チェックボックスのように、複数の値を持つ事が出来るフィールドでは、複数の値を一つのデータに纏めてデータベースに保存しています(シリアライズ)。繰り返しフィールドのように、データ数が可変のものでも保存できます。しかし一方で、カスタムフィールドで複数の値を持つデータの検索が面倒です。

また、データ取得/出力は、get_field関数、the_field関数を使います。独自関数を使う事でフィールド毎に柔軟に出力形式を変更できるというメリットもありますが、WP標準から外れる、というデメリットがあります。

WordPress を CMS として使う場合

WordPress を CMS として使う場合、どういう実装をする(orプラグインを選定する)か?というのが結構重要になります。WordPress は自由度が高く作られています。カスタムフィールドのデータを検索するのは、元々のデータベース構造上イマイチ(インデックスがはられていない、フィールドはすべてテキスト)ですが、制作者がカスタムフィールドのデータを検索したいと思えばできるようになっています。

シリアライズしないでカスタムフィールドを使う、という場合
「標準のカスタムフィールドで入力する」
「Advanced Custom Fields プラグインの独自アドオンを作り、シリアライズしない保存方法にする」
「Advanced Custom Fields プラグインではなく別のプラグインを採用する」
「自作したメタボックスで入力する」
等、様々な方法が用意されていて、その中から選択できます。もちろん、他の CMS (Drupal や Expression Engine など)を使う、という方法もあります。案件に合った方法を選択し、お客さんに提案して構築できるかどうかが、ウェブ制作者の腕の見せ所でしょう。

関連

Posted in WordPress | Tagged オープンソース, カスタムフィールド
← 電子書籍「WordPress カスタム投稿タイプでウェブサイト制作」を出版しました コンサルタントの読書術 →

アーカイブ

人気の投稿とページ

  • キンドル本を印刷する(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.