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

概要

elementor/import/stage_1/resultは、Elementorが提供するアクションフックであり、主にインポートプロセスの結果を処理する際に使用されます。このアクションは、Elementorでページやテンプレートをインポートする際の最終ステージでのカスタム処理を追加するために特に有用です。一般的に以下のような機能を実装する際に使用されることが多いです。

  1. インポート後のデータの整合性チェック
  2. カスタムメタデータの追加
  3. インポートデータに基づくトリガーの発火
  4. 成功したインポートのログ記録
  5. エラーハンドリングの実施
  6. インポートに伴うユーザー通知

構文

do_action( 'elementor/import/stage_1/result', $result_data );

パラメータ

  • $result_data: インポート結果に関連するデータを含む配列。成功や失敗などの情報が含まれます。

戻り値

このアクションフック自体は値を返しません。登録されたコールバック関数が実行されます。

使用可能なプラグインバージョン

  • Elementorバージョン: 3.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: インポート結果のログ出力

このスニペットは、インポート結果の情報をログファイルに保存するためのものです。

add_action( 'elementor/import/stage_1/result', function( $result_data ) {
    $log_file = WP_CONTENT_DIR . '/import-log.txt';
    file_put_contents( $log_file, print_r( $result_data, true ), FILE_APPEND );
});

サンプルコード2: インポート後にカスタムメタデータを追加

このコードは、インポート後に元のページにカスタムメタデータを追加します。

add_action( 'elementor/import/stage_1/result', function( $result_data ) {
    if ( isset( $result_data['post_id'] ) ) {
        update_post_meta( $result_data['post_id'], '_custom_meta_key', 'custom_value' );
    }
});

サンプルコード3: エラーハンドリング

インポート中にエラーが発生した場合、それを処理するロジックを示す例です。

add_action( 'elementor/import/stage_1/result', function( $result_data ) {
    if ( ! empty( $result_data['error'] ) ) {
        error_log( 'Import error: ' . $result_data['error'] );
    }
});

サンプルコード4: ユーザーへの通知

インポートが成功した場合にユーザーに通知する方法を示します。

add_action( 'elementor/import/stage_1/result', function( $result_data ) {
    if ( isset( $result_data['success'] ) ) {
        echo '<div class="notice notice-success">インポートが成功しました。</div>';
    }
});

サンプルコード5: 特定の条件に基づいた処理

特定の条件に基づいて異なる処理を行う例です。

add_action( 'elementor/import/stage_1/result', function( $result_data ) {
    if ( isset( $result_data['post_type'] ) && 'page' === $result_data['post_type'] ) {
        // ページに特有の処理をここに追加
    }
});

各サンプルコードは、著作権フリーの一般的なPHPコードに基づいて作成されており、WordPressのプラグイン開発者によく使われるテクニックを示しています。

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


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