概要
post_type_supports 関数は、指定された投稿タイプが特定の特徴を持っているかどうかを調べるために使用されます。この関数は、カスタム投稿タイプを作成する際に便利で、必要な機能を簡単に確認することができます。たとえば、以下のような機能に対してサポートを確認する際によく使われます。
- エディタ
- カスタムフィールド
- アイキャッチ画像
- コメント
- 押し出しのサポート
- スリープ機能
- リビジョン
- サイドバー
構文
post_type_supports( $post_type, $feature );
パラメータ
$post_type(string): チェックしたい投稿タイプのスラッグ。$feature(string): チェックしたい機能の名前。
戻り値
- (bool): 指定した投稿タイプが特定の特徴を持っている場合は
true、そうでない場合はfalseを返します。
関連する関数
使用可能なバージョン
- WordPress 3.0.0以降
コアファイルのパス
wp-includes/post.php
この関数のアクションでの使用可能性
| アクション名 | 使用例 |
|---|---|
| mu_plugin_loaded | |
| registered_post_type | 〇 |
| plugins_loaded | |
| wp_roles_init | |
| setup_theme | |
| after_setup_theme | |
| set_current_user | |
| init | |
| register_sidebar | |
| wp_loaded | |
| send_headers | |
| parse_query | |
| pre_get_posts | |
| wp | |
| template_redirect | |
| get_header | |
| wp_head |
サンプルコード
サンプル1: 投稿タイプの機能を確認する
if ( post_type_supports( 'post', 'thumbnail' ) ) {
echo 'この投稿タイプはアイキャッチ画像をサポートしています。';
}
このコードは、標準の投稿タイプがアイキャッチ画像をサポートしているかどうかを確認し、サポートしている場合はメッセージを表示します。
サンプル2: カスタム投稿タイプでエディタのサポートを確認する
if ( post_type_supports( 'my_custom_post_type', 'editor' ) ) {
// エディタがサポートされている場合の処理
}
このコードでは、my_custom_post_type というカスタム投稿タイプがエディタをサポートしているかどうかを確認します。
サンプル3: コメント機能の有無をチェックする
if ( post_type_supports( 'my_custom_post', 'comments' ) ) {
echo 'このカスタム投稿タイプはコメント機能をサポートしています。';
}
このサンプルでは、カスタム投稿タイプにコメント機能がサポートされているかどうかを確認します。
サンプル4: カスタムフィールドのサポートを確認する
if ( post_type_supports( 'my_post_type', 'custom-fields' ) ) {
// カスタムフィールドがサポートされている場合の処理
}
このコードでは、指定したカスタム投稿タイプがカスタムフィールドをサポートしているかを確認します。
サンプル5: リビジョンのサポートをチェックする
if ( post_type_supports( 'my_blog_post', 'revisions' ) ) {
echo 'このブログ投稿はリビジョンをサポートしています。';
}
このコードは、ブログ投稿がリビジョンをサポートしているかどうかを確認し、メッセージを表示します。