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

概要

elementor/documents/register アクションは、Elementorプラグインの文書オブジェクトが登録される際にトリガーされるフックです。このアクションは、ユーザーが新しいコンテンツを作成する際に必要なメタデータを登録したり、他のプラグインやテーマの機能を拡張する目的でよく使用されます。これにより、カスタムデータの登録や特定の文書に対する動作をカスタマイズすることが可能です。このアクションは、主に以下のような機能を実装する際に使用されます。

  1. ワードプレスのカスタム投稿タイプに関連するメタデータの登録
  2. 特定の文書にカスタムフィールドを追加
  3. ユーザー権限に基づく文書の表示制御
  4. Elementorのウィジェットをカスタム化
  5. 新しいテンプレートタイプの登録
  6. SEOメタデータの追加

構文

add_action( 'elementor/documents/register', 'your_function_name' );

パラメータ

  • Document – 登録されるDocumentオブジェクト。

戻り値

このアクションには戻り値はありません。

使用可能なバージョン

  • Elementorのバージョン: 2.0以上
  • ワードプレスのバージョン: 4.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: カスタムポストタイプのメタボックスを追加

このサンプルコードは、Elementorで使用されるカスタムポストタイプにメタボックスを追加します。

function add_custom_meta_box( $document ) {
    // カスタムメタデータを登録する処理
    $document->set_settings( 'custom_meta_key', 'custom_meta_value' );
}
add_action( 'elementor/documents/register', 'add_custom_meta_box' );

出典: https://elementor.com

サンプル2: カスタムウィジェットを登録

このコードは、Elementorでカスタムウィジェットを登録するための例です。

function register_custom_widget( $documents_manager ) {
    $documents_manager->register_widget_type( new My_Custom_Widget() );
}
add_action( 'elementor/documents/register', 'register_custom_widget' );

出典: https://elementor.com

サンプル3: ユーザー権限に基づくカスタム機能の追加

このサンプルは、特定の権限を持つユーザーのみに特別な機能を追加します。

function add_feature_to_specific_role( $document ) {
    if ( current_user_can( 'administrator' ) ) {
        // 管理者だけが使える機能
        $document->set_settings( 'feature_enabled', true );
    }
}
add_action( 'elementor/documents/register', 'add_feature_to_specific_role' );

出典: https://elementor.com

サンプル4: ポストタイプにカスタム設定を追加

指定されたポストタイプにカスタム設定を追加する例です。

function register_custom_settings( $document ) {
    if ( 'my_custom_post_type' === $document->get_post_type() ) {
        $document->set_settings( 'my_custom_setting', 'some_value' );
    }
}
add_action( 'elementor/documents/register', 'register_custom_settings' );

出典: https://elementor.com

サンプル5: 新しいテンプレートタイプの登録

このコードは、新しいテンプレートタイプをElementorに登録します。

function register_new_template_type( $documents_manager ) {
    $documents_manager->register_document_type( 'my_custom_template_type', 'My Custom Template' );
}
add_action( 'elementor/documents/register', 'register_new_template_type' );

出典: https://elementor.com

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


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