MENU

add_post_type_support()

add_post_type_support() は、WordPress のカスタム投稿タイプや既存の投稿タイプ(postpage など)に新しい機能を追加するための関数です。

例えば、カスタム投稿タイプにアイキャッチ画像(サムネイル)やエディター機能を追加する際に利用されます。この関数を使うことで、投稿タイプの機能を柔軟にカスタマイズできます。

目次

機能の説明

add_post_type_support() は、指定した投稿タイプに新しい機能を追加します。
この関数を使うことで、テーマやプラグインのカスタマイズを行い、投稿の編集機能を拡張できます。

主な用途

  • カスタム投稿タイプにアイキャッチ画像(サムネイル)を追加する
  • 固定ページ(page)に抜粋機能を追加する
  • 投稿にコメント機能やリビジョン機能を追加する
  • エディターを有効化する

シンプルなコード例

add_post_type_support('page', 'excerpt');
  • 'page':サポートを追加する投稿タイプ(ここでは page
  • 'excerpt':追加する機能(ここでは抜粋機能)

このコードを追加すると、固定ページ(page)にも投稿と同じように「抜粋」フィールドが表示されるようになります。

引き数と戻り値

引数名説明
$post_typestring機能を追加したい投稿タイプのスラッグ(例:post, page, my_custom_type
$featurestring / array機能を追加したい投稿タイプのスラッグ(例:post, page, my_custom_type
$featurestring / array追加する機能名(例:title, editor, thumbnail など)またはその配列
$argsmixed追加する機能名(例:title, editor, thumbnail など)またはその配列
$argsmixed(省略可)一部の機能に対して追加情報を渡すためのオプション引数(例:配列など) (省略可)
戻り値名説明
なしvoid戻り値はありません。機能は内部的に登録されます。

使い方の説明

基本的な使い方

カスタム投稿タイプ news にアイキャッチ画像(サムネイル)を追加する場合、以下のように記述します。

function add_news_support() {
    add_post_type_support('news', 'thumbnail');
}
add_action('init', 'add_news_support');
  • add_post_type_support('news', 'thumbnail');news 投稿タイプにサムネイル機能を追加
  • init アクションフック内で実行することで、適切なタイミングで機能を追加

複数の機能を追加する

array() を使って、一度に複数の機能を追加することもできます。

add_post_type_support('news', array('title', 'editor', 'thumbnail', 'comments'));

追加される機能

  • title:タイトル入力
  • editor:ビジュアル・テキストエディター
  • thumbnail:アイキャッチ画像
  • comments:コメント機能

一緒に使うことが多い関連タグ

remove_post_type_support()

特定の投稿タイプから機能を削除する。

remove_post_type_support('post', 'comments');

register_post_type()

カスタム投稿タイプを登録する際に、supports パラメータを使用して add_post_type_support() の代わりに機能を指定できます。

register_post_type('news', array(
    'label' => 'ニュース',
    'public' => true,
    'supports' => array('title', 'editor', 'thumbnail')
));

追加情報で取得したい場合

投稿タイプのサポート情報を取得する

post_type_supports() を使うと、指定した投稿タイプがある機能をサポートしているかどうかを確認できます。

if (post_type_supports('news', 'thumbnail')) {
    echo 'この投稿タイプはアイキャッチ画像をサポートしています。';
}

想定されるトラブル

機能が追加されない

解決方法

  • add_post_type_support()init フック内で実行しているか確認する
  • 投稿タイプの supports パラメータと競合していないか確認する

サポートが追加されたのに機能が表示されない

解決方法

  • アイキャッチ画像(サムネイル)の場合、add_theme_support('post-thumbnails'); も追加する必要がある
  • 管理画面の表示オプションで該当する項目が非表示になっていないか確認する

Q&A

add_post_type_support()register_post_type()supports パラメータと何が違いますか?

register_post_type()supports では投稿タイプ登録時に機能を追加できますが、add_post_type_support() を使うと、既存の投稿タイプに後から機能を追加できます。

add_post_type_support() を使うときに init フックを使うのはなぜですか?

WordPress の初期化処理(init)が完了した後でないと、投稿タイプの変更が適用されない可能性があるためです。

投稿タイプごとに異なるエディターを適用できますか?

add_post_type_support('custom_post', 'editor'); でエディターを有効化した上で、Gutenberg や Classic Editor を制御することが可能です。

まとめ

add_post_type_support() は、WordPress の投稿タイプに機能を追加するための便利な関数です。

カスタム投稿タイプや既存の投稿に特定の機能を有効化し、テーマやプラグインのカスタマイズを柔軟に行えます。remove_post_type_support() と組み合わせることで、不要な機能を削除することも可能です。

よかったらシェアしてね!
  • URLをコピーしました!

コメント

コメントする

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

目次