プラグインElementorのelementor/utils/is_post_support関数の使用方法・解説

概要

elementor/utils/is_post_support関数は、特定の投稿タイプがElementorでサポートされているかどうかを確認するためのユーティリティ関数です。この関数は、主に以下のような機能を実装する際によく使われます。

  1. 投稿タイプのサポートチェック
  2. カスタム投稿タイプの設定
  3. WP REST APIのレスポンスをカスタマイズ
  4. テンプレートの条件付きロード
  5. プラグインの設定ウィザード
  6. ユーザーインターフェースの表示条件の制御

構文

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関数を活用して特定の条件を判定し、それに基づいて処理を行う方法を示しています。

この関数について質問する


上の計算式の答えを入力してください