プラグインElementorのelementor/preview/initアクションの使用方法・解説

概要

elementor/preview/initアクションは、Elementorのプラグインで初期化の際にフックされるアクションです。このアクションは、Elementorのプレビュー機能が初期化されるときに呼び出され、カスタムコードを追加するためのポイントを提供します。よく使われる用途としては以下のようなものがあります。

  1. カスタムスタイルの追加
  2. 認証情報のチェック
  3. Ajaxリクエストの処理
  4. 特定のデータの初期化
  5. エラーハンドリングの設定
  6. ユーザー権限の調整

構文

add_action( 'elementor/preview/init', 'your_callback_function' );

パラメータ

このアクションには特定のパラメータはありませんが、呼び出された際にグローバル変数や他のWordPressの機能を利用することができます。

戻り値

このアクションの戻り値はなく、主に副作用を持った操作に使用されます。

使用可能なバージョン

  • Elementorバージョン: 3.0.0以降
  • WordPressバージョン: 5.0以降

サンプルコード

サンプルコード 1

このコードは、Elementorプレビューの際にカスタムCSSを追加するものです。

add_action( 'elementor/preview/init', function() {
    echo '<style> .my-custom-class { color: red; } </style>';
});

サンプルコード 2

このコードは、Elementorのプレビューが初期化された際にユーザーが特定のロールを持っているかをチェックします。

add_action( 'elementor/preview/init', function() {
    if ( !current_user_can( 'edit_posts' ) ) {
        wp_die( 'You do not have sufficient permissions to view this page.' );
    }
});

サンプルコード 3

このコードは、Elementorプレビューの際に特定のAjaxアクションを処理するためのエンドポイントを追加します。

add_action( 'elementor/preview/init', function() {
    add_action( 'wp_ajax_my_custom_action', 'my_custom_action_handler' );

    function my_custom_action_handler() {
        // Ajax処理のロジック
        wp_send_json_success( '処理が成功しました。' );
    }
});

サンプルコード 4

このコードは、Elementorプレビュー時に初期化しなければならないカスタムデータを設定しています。

add_action( 'elementor/preview/init', function() {
    $my_custom_data = get_option( 'my_custom_option' );
    if ( ! $my_custom_data ) {
        update_option( 'my_custom_option', 'default_value' );
    }
});

サンプルコード 5

このコードは、Elementorプレビュー時にエラーハンドリングの設定を行うものです。

add_action( 'elementor/preview/init', function() {
    if ( ! isset( $_GET['preview_nonce'] ) || ! wp_verify_nonce( $_GET['preview_nonce'], 'elementor' ) ) {
        wp_die( __('Nonce verification failed!') );
    }
});

この関数のアクションでの使用可能性

アクション 使用例
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

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


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