概要
elementor/preview/initアクションは、Elementorのプラグインで初期化の際にフックされるアクションです。このアクションは、Elementorのプレビュー機能が初期化されるときに呼び出され、カスタムコードを追加するためのポイントを提供します。よく使われる用途としては以下のようなものがあります。
- カスタムスタイルの追加
- 認証情報のチェック
- Ajaxリクエストの処理
- 特定のデータの初期化
- エラーハンドリングの設定
- ユーザー権限の調整
構文
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 |