概要
elementor/documents/register
アクションは、Elementorプラグインの文書オブジェクトが登録される際にトリガーされるフックです。このアクションは、ユーザーが新しいコンテンツを作成する際に必要なメタデータを登録したり、他のプラグインやテーマの機能を拡張する目的でよく使用されます。これにより、カスタムデータの登録や特定の文書に対する動作をカスタマイズすることが可能です。このアクションは、主に以下のような機能を実装する際に使用されます。
- ワードプレスのカスタム投稿タイプに関連するメタデータの登録
- 特定の文書にカスタムフィールドを追加
- ユーザー権限に基づく文書の表示制御
- Elementorのウィジェットをカスタム化
- 新しいテンプレートタイプの登録
- 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