2018年06月04日に初出の投稿

Last modified: 2018-06-04

Use the Advanced Custom Fields plugin to take full control of your WordPress edit screens & custom field data.

Edit better with Advanced Custom Fields for WordPress Developers.

WordPress でカスタム・フィールドを使うなら定番のプラグインなので、ご存知の方も多いとは思うが、受託案件で導入している WordPress では Advanced Custom Fields というプラグインを使っている。これを導入するだけで、管理画面からフロントエンド側を細かくコントロールできたりするので、僕もよく使うプラグインの一つだ。特に運営側の管理画面である WordPress とビジター側のフロントエンドとを分離して実装する(詳しくは、当サイトの「WordPress のセキュリティ対策(補遺)」を参照)際には、ショートコードや functions.php の挙動には全く頼れないので、カスタムフィールドの値で挙動を切り替えたりすることも多い(たとえばページごとに特定の HTML 要素を表示したりしなかったりすること)。

ということで多用すると、幾つかの問題とか制約にぶつかる。例えば、カスタム・フィールドの数が増やせなくなることがあり、おおよそ 60 個くらいのフィールドを定義していると、それ以上はフィールドが追加できなくなる(追加して「更新」ボタンを押しても、追加したフィールドが消える)。これはプラグインのせいではなく、PHP の max_input_vars という設定値で制限がかかっているからなのだが、レンタルサーバでサイトを運用している場合は PHP の値を変更したり .htaccess で変更するといった対応ができない場合もあるため、この問題を扱っているページの多くは、カスタムフィールドをグループごとに分けて登録することを勧めている。投稿画面で表示される条件を同じにすれば、単にグループごとに区切られたフィールドが表示されるだけであって、実用としては問題がないという判断からだ。ただし、カスタム・フィールドをタブでグループ分けしている場合は、分割ができない場合もあるため、レンタルサーバでは設定を変更できない場合が多いが、専用のサーバや VPS あるいはクラウドでインスタンスを立ち上げていて、サーバの条件に問題が無ければ、max_input_vars の値を .htaccess で 1200 ていどに引き上げることも検討した方がいいだろう。もちろん、この値がそもそも一定の値に制限されているのは DoS 攻撃に対応するためという正当な理由があるからなので、いたずらに値を引き上げるのは感心しない(そもそも、一度のリクエスト中に値が 1,000 以上も入っている時点で好ましくないと言い得る)。

それから、これは企業用途で導入している発注側にも受託側にも言いたいことだが、このプラグインの開発では "PRO" 版も出ており、商用で実装したり導入している場合は developer として料金を支払うのが筋だと思う。そもそも、WordPress というプラットフォームですら無料で使えて予算を大きく引き下げられているというのに、$100 のライセンス料も出せないというなら、その発注側事業者というのは、本気でオンラインに事業所(なぜウェブサイトを企業の「事業所」扱いにするべきなのかは、当サイトの記事を読めば分かる)を作る気があるのかと言いたい。元手0円で「〇〇のドン・ファン」を目指すのも結構だが、そんなことだけを夢想して実行できたにせよ、現実が物語っているようにロクな死に方はしないし、実はそういう人間は世の中に何の貢献もしていないのだ。

これは、僕らが受注している関西の上場企業や大企業にすら言えることだが、昨今は年商数千億円のナショナルクライアントの企画・広告部ですら「WordPress =無料」という理解しかしていないし、WordPress でのサイト構築を勧める広告代理店や制作会社も似たようなことしかセールスポイントとして語らない。もちろん、そういう事情もあって WordPress がこれだけのシェアを獲得し、或る意味ではクソみたいな CMS を駆逐したおかげで、日曜プログラマがオリジナルの CMS を実装したままサイトを放置してスパムコメントの展示会場のようになっている醜態を見かけることは少なくなった。しかし同時に、そのようなレベルで止まってしまったからこそ、逆にウェブの制作コストは表面的な額面だけ下げたらいいという値下げ競争しかやることがなくなり、一部では「ITベンチャー vs. ウェブ制作」という対立が出来上がってしまったとも言いうる。ウェブ制作会社の多くが自前の CMS を開発してサイトの構築に利用しているのは、何もロックインすることだけが目的なのではない。

  1. もっと新しいノート <<
  2. >> もっと古いノート

冒頭に戻る


※ 以下の SNS 共有ボタンは JavaScript を使っておらず、ボタンを押すまでは SNS サイトと全く通信しません。

Google+ Twitter Facebook