概要
elementor/utils/is_post_support
関数は、特定の投稿タイプがElementorでサポートされているかどうかを確認するためのユーティリティ関数です。この関数は、主に以下のような機能を実装する際によく使われます。
- 投稿タイプのサポートチェック
- カスタム投稿タイプの設定
- WP REST APIのレスポンスをカスタマイズ
- テンプレートの条件付きロード
- プラグインの設定ウィザード
- ユーザーインターフェースの表示条件の制御
構文
is_post_support( $post_type );
パラメータ
$post_type
(string): 確認したい投稿タイプのスラッグ。
戻り値
- (bool): 投稿タイプがサポートされている場合は
true
、そうでない場合はfalse
。
バージョン情報
- 使用可能なプラグイン:Elementor
- Elementorのバージョン:バージョン5.0以降
- WordPressのバージョン:バージョン5.0以降
この関数のアクションでの使用可能性
アクション | 使用例 |
---|---|
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: 投稿タイプのサポートチェック
このコードは、「page」投稿タイプがElementorでサポートされているか確認します。
if ( is_post_support( 'page' ) ) {
echo 'Page supports Elementor.';
} else {
echo 'Page does not support Elementor.';
}
サンプル2: カスタム投稿タイプの設定
こちらの例では、「movie」というカスタム投稿タイプがElementorでサポートされている場合、その設定を行います。
function register_custom_post_type() {
if ( is_post_support( 'movie' ) ) {
register_post_type( 'movie', [
'public' => true,
'label' => 'Movies',
] );
}
}
add_action( 'init', 'register_custom_post_type' );
サンプル3: テンプレートの条件付きロード
このコードは、「product」投稿タイプがElementorでサポートされている場合に特定のテンプレートをロードします。
if ( is_post_support( 'product' ) ) {
include( 'template-product.php' );
} else {
include( 'template-default.php' );
}
サンプル4: WP REST APIのカスタマイズ
この例では、Elementorでサポートされている投稿タイプのデータをREST APIに返すようにします。
function custom_rest_post_type( $data, $post, $request ) {
if ( is_post_support( $post->post_type ) ) {
$data->data['supports_elementor'] = true;
}
return $data;
}
add_filter( 'rest_prepare_post', 'custom_rest_post_type', 10, 3 );
サンプル5: 管理画面でのウィジェット表示
管理画面でElementor対応のウィジェットを表示する条件を設定します。
function add_custom_meta_box() {
if ( is_post_support( 'post' ) ) {
add_meta_box( 'custom_meta_box', 'Elementor Settings', 'custom_meta_box_callback', 'post' );
}
}
add_action( 'add_meta_boxes', 'add_custom_meta_box' );
function custom_meta_box_callback() {
echo 'This is a meta box for posts that support Elementor.';
}
各サンプルコードは、elementor/utils/is_post_support
関数を活用して特定の条件を判定し、それに基づいて処理を行う方法を示しています。