はいさい! エンジニアのうーまーです。沖縄からフルリモートでLIGでお仕事しています。
今回は、WordPressのカスタムフィールドプラグインとしてデファクトスタンダードなACFを拡張する、ACFのアドオンプラグインのご紹介です。
ACFはそれだけで神的な存在ですが、たまに「こういう機能もあったらいいなー」と思うこともあります。そういうかゆいところに手が届くようにしてくれるのがこのACF Extendedです。
機能があまりにも多すぎてすべては紹介しきれないのですが、個人的にすごいと思う機能をいくつかピックアップして紹介したいと思います。
目次
ACFとは?その拡張とは?
Advanced Custom Fields (ACF) とは、WordPressの投稿ページや固定ページ、カテゴリ、コメント欄など任意の箇所へ入力欄を追加できるWordPressの追加機能(プラグイン)です。
テキストや画像、日付などの基本的なフィールドから、ギャラリーやタクソノミーを選択できるフィールドなどの便利な機能、タブ切り替えや条件でフィールドを出したり消したりなどのレイアウト機能、Pro版では繰り返しや柔軟コンテンツ、オプションページといった、たくさんの便利な機能があります。
そんな神プラグインをさらに拡張するACF Extended(以下ACFE)は、ACFのPro版にも用意されていなかった、管理画面上でオプションページを追加できたりと、カスタムポストアーカイブにフィールドを作ったりと「あったらいいな」的な機能が “ある” んです。
アドオンプラグインなのにPro版も用意されていて、無料版より機能がたくさんあるみたいですね(今回は無料版のお話です)。詳しくは公式サイトをどうぞ。
公式サイトやGitHubなんかを見てみると、2019年あたりから出始めたみたいで、比較的新しいプラグインのようですね。
余談ですが、Pro版が用意されているプラグインってマネタイズのためにしっかりしてるので、開発が中止になったりなどが少ないように感じます。WordPressのプラグインでよくある、開発が中止になって新しいバージョンで使えませんというリスクは低いと思います。
では実際に両方をインストールして、気になる機能を紹介していきます。
ACF Extendedの機能
フィールドグループをカテゴリ分けできる
小規模なwebサイトではカスタムフィールドの数もそんなに多くありませんが、規模が多くなるとフィールドグループが多くなりすぎて、目的のフィールドを探すのに時間がかかったりします。
ACFEではカテゴリ分けができるので、そんな手間もなくなります。
この画像はACF PROとACF PRO + ACFE を比較した画像です。ACFEの方は上部のタブの項目が増えてますね。ここではその中の1つ、カテゴリーの説明です。
とりあえずたくさんのフィールドグループを作ってみました。
そしてカテゴリも作ってみました。
▲実際にカテゴリで分けて見やすくなったのがこちら
フィールドグループの数は経験的に20〜30まではカテゴリなくても管理しやすいですが、それ以上になってくるとカテゴリがあったほうが圧倒的に管理しやすいですね。
オプションページを管理画面から作ることができる
ACFのオプションページは通常、function.phpにオプションページ用の記述をしないといけません。function.phpに書くということは、そのテーマでしか使えないということです。
個人的にはサイト全体の機能などは管理画面で追加できたほうが、テーマを切り替えたときにも使えるので汎用性がアップすると思います。
オプションページをクリック。開いた先で新規追加をクリック。
オプションページの設定。すべての使えるオプションが最初から表示されているのも使いやすいです。
サブメニューも作れます。印のところに、親ページのslugを入れる必要があります。
後はカスタムフィールドをオプションページに割り当てるだけ。
ちなみにサブページは2つ以上ないと、左メニューホバーしたときに出てこないみたいですね。
管理画面からのほうが汎用性が上がるとはいえ、ファイル管理したい場合もあります。そういうときは後述のインポート・エクスポート機能も使えるのでめっちゃ便利です。
カスタムポスト・カスタムタクソノミー
カスタムポスト・タクソノミーのプラグインと言えば Custom Post UI (CPT UI) が有名ですが、ACFEを使えばそれすらいりません。ACFEはカスタムフィールドを拡張するだけでなく、カスタムポスト・タクソノミーも管理画面から作成できます。
CPT UI は少し前にUIが変更になって若干使いづらくなったので乗り換え先を探していましたが、これからはACFEになりそうです。
しかも、ACFではなかったアーカイブページにもフィールドを追加できるので、まさにかゆいところに手が届くといった感じです。
カスタムポスト・タクソノミーの場所は左メニューの「ツール」の中になります。新規追加をクリックで追加してみます。
タイトルやslugなどを入力していきます。タブでどの項目かわかりやすくなっています。これはCPT UIよりわかりやすいのでは?
ポストタイプができたので、カスタムポストアーカイブページにカスタムフィールドを紐付けてみます。ここは少しわかりづらいのですが、「Post Type List」が正解で、追加したカスタムポストを選択。
追加したカスタムポストの一覧ページを見てみると、下部にカスタムフィールドがいますね。カスタムタクソノミーも同様に追加していけば、タクソノミーアーカイブページにまでフィールドが追加できます。
こういうのは習うより慣れろですね。一度ローカル環境にでも入れてテストしてみることをおすすめします。
インポート・エクスポート機能も充実
ACFではフィールドグループのインポート・エクスポート機能がありますが、ACFEにはさらにメニューのぶんだけその機能がついています。使い方もシンプルでわかりやすいと思います。
カスタムポスト・タクソノミーで他のプラグインからエクスポートしたファイルが使えるかは未検証です。
ACFではJSONで出力されたものを自動で読み込んだりする機能がありますが、ACFEで追加になったカスタムポスト・タクソノミー、オプションページなんかはどうなんでしょうか。これを調査するにはあまりにも余白が足りない……。
おわりに
WordPressのプラグインも、ずっと使ってきて慣れてるものが一番しっくりくると思いますが、たまには違うものを探してみると新しい発見があって嬉しい気分になりますね。
それにしてもACFEはすべて英語なので、日本語翻訳ができたらもう少しシェアが増えたり日本語の記事が増えたりしそうな予感です。どなたか翻訳してください。お願いします。
LIGはWebサイト制作を支援しています。ご興味のある方は事業ぺージをぜひご覧ください。