WordPressのカスタム投稿タイプにカスタムフィールドを追加してみる

2023.11.14 09:00
2023.12.18 16:18
WordPressのカスタム投稿タイプにカスタムフィールドを追加してみる

WordPressで、カスタム投稿タイプにも自由に項目を追加してみたくなりました。
通常の投稿にカスタムフィールドをつけるのなら簡単ですが、カスタム投稿タイプにつけるにはどうしたらいいかわかりませんでしたので、調べてみました。

すると、「ACF」というプラグインがいいみたいです。
これは、カスタム投稿タイプとカスタムフィールドを一気に作ってくれるみたいです。
つまり、functions.phpをいじらずとも設定で全部やってくれるみたいです。
便利ですね!ということで使っていきます。

1. インストール

まずはプラグインをいれます。プラグインページに進みましょう。

「カスタムフィールド」としらべて「ACF」がでてきたらインストールします。

入ったらすかさず「有効化」しましょう。
インストールはこれで終了です!

2. プラグイン設定

次に細かい設定をしてみます。
上のメニューに「フィールドグループ」と「PostTypes」がありますね。
「フィールドグループ」が自由な項目をつくる「カスタムフィールド」で、「PostTypes」がカスタム投稿タイプのようです。なので「PostTypes」を作ったあとに「フィールドグループ」をつくるという流れがいいでしょうね。

ということで左メニューから「ACF」をクリックし、上の「Post Types」をクリックして「+ Add Post Type」をクリックしましょう。

項目を設定するようですね。入力していきましょう。

「Plural Label」と「Singular Label」は日本語で、「Post Type Key」は小文字英数字とアンダーバーだけで20文字以内で入れるようですね。そのあとチェックは「Public」に入れて、「Save Changes」をクリックします。

「お客様の声」のカスタム投稿タイプが追加されました。
続いてここに独自のカスタムフィールドを追加していくことになりますので、「Add fields」をクリックします。ちなみにここで「Add fields」をクリックしなくても、上部メニューの「フィールドグループ」から追加してもOKみたいですね。

タイトルやラベル、フィールド名を入力して「+フィールドを追加」をクリックします。

追加されました!

次にアーカイブ設定をします。
高度な設定にチェックを入れます。

URLタブをクリックしてアーカイブにチェックを入れ、「アーカイブスラッグ」に半角英数字でスラッグを入れます。これをすると「archive-voice.php」を用意すれば、アーカイブ一覧が反映されます。

これで設定が完了です。
左メニューに「お客様の声」が追加されていますね!

ここまでは「PostTypes」を追加 -> 「フィールドグループ」を追加、という流れですね。

3. 投稿してみる

では実際に投稿画面をみてみましょう。
左メニューに追加された「お客様の声」をクリックしてみます。

「新規投稿を追加」をクリックしてみましょう。

下に「お客様の声 フィールド」が追加されていますね。成功です。
ただ、元々のタイトルと、カスタムフィールドで追加されたタイトルが被っています。
タイトルはデフォルトであるのか、、。であればこっちを使うべきですね。タイトル以外の項目を追加する時にACFを使う感じですね。ブロックもデフォルトであるので、特に使わなければ非表示にするのがいいでしょうね。と思ったのですが、非表示にすると以前の入力画面レイアウトに戻るので、悩ましいところです。個人的にはそのままで、ブロックを入力しないということにしました。

管理画面の項目を非表示にする方法

あとは、表示順を変えたりするなどして見やすくして終わりですね。
次回は、表示画面に反映してみたいと思います。

今回は以上です!