概要
elementor/document/urls/exit_to_dashboard
は、Elementorでドキュメントを編集中のとき、ユーザーがダッシュボードに戻るためのURLを変更するために使用されるアクションフックです。このアクションフックは、特に以下のような機能を実装する際によく使われます。
- ダッシュボードへのカスタム遷移を設定する。
- 特定のユーザー権限に基づいて異なるダッシュボードに遷移させる。
- 編集終了後のリダイレクト先をカスタマイズする。
- プラグインの設定ページへのリダイレクトを行う。
- 管理者専用の機能を提供するために特定の条件下での遷移を設定。
- ユーザーが編集した内容に基づいたカスタマイズされたフィードバックをダッシュボードに表示する。
このアクションフックは、Elementorのさまざまなバージョンで使用可能であり、WordPressのバージョンも依存しませんが、Elementorの最新バージョンでの適用が推奨されます。
構文
do_action( 'elementor/document/urls/exit_to_dashboard', $url, $document );
パラメータ
$url
: (string) ダッシュボードへのURL。$document
: (object) 現在のドキュメントインスタンス。
戻り値
このアクションフックには戻り値はなく、主に指定したURLをフックします。
サンプルコード
サンプルコード1: ダッシュボードへのカスタムリダイレクト
add_action( 'elementor/document/urls/exit_to_dashboard', function( $url ) {
return home_url('/custom-dashboard/');
});
このコードは、Elementorの終了時にカスタムダッシュボードのURLへリダイレクトします。
サンプルコード2: ユーザーの役割に基づくダッシュボードの変化
add_action( 'elementor/document/urls/exit_to_dashboard', function( $url ) {
if ( current_user_can('administrator') ) {
return admin_url();
}
return home_url();
});
このコードは、管理者ユーザーの場合にWordPressの管理ダッシュボードにリダイレクトし、それ以外のユーザーはホームページに戻します。
サンプルコード3: 編集した内容を反映したフィードバックリダイレクト
add_action( 'elementor/document/urls/exit_to_dashboard', function( $url, $document ) {
if ( ! $document->is_saved() ) {
return add_query_arg( 'message', 'saved', $url );
}
return $url;
}, 10, 2);
このコードでは、文書が保存されていない場合にリダイレクトURLにメッセージを追加します。
サンプルコード4: 別のプラグイン設定ページへのリダイレクト
add_action( 'elementor/document/urls/exit_to_dashboard', function( $url ) {
return admin_url('options-general.php?page=my_custom_plugin');
});
このコードは、ユーザーがダッシュボードに戻る際に特定のプラグイン設定ページへリダイレクトします。
サンプルコード5: 条件付きで異なるダッシュボードへリダイレクト
add_action( 'elementor/document/urls/exit_to_dashboard', function( $url ) {
if ( get_option( 'redirect_to_custom_dashboard' ) ) {
return admin_url('custom-dashboard.php');
}
return $url;
});
このコードは、オプション設定に基づいて通常のダッシュボードかカスタムダッシュボードにリダイレクトします。
この関数のアクションでの使用可能性
アクション | 使用可能性 |
---|---|
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 |