特定のWordPress管理ページを別の管理ページにリダイレクトする方法を教えてください。
たとえば、私はユーザーにwp-admin/about.php
を見せたくありません。常にwp-admin/index.php
にリダイレクトするべきです。
プロモーション付きのプラグインウェルカムページにリダイレクトするプラグインもいくつかあります。このURLが次にこのURLにリダイレクトされるかどうかを確認できるようにしたいのです。
get_current_screen()
を使用すると、どのページが特定の管理ページにリダイレクトされているかを確認できます。
get_current_screen()
はスクリーンオブジェクトを次のように返します。
WP_Screen Object
(
[action] =>
[base] => dashboard
[columns:WP_Screen:private] => 0
[id] => dashboard
[in_admin:protected] => site
[is_network] =>
[is_user] =>
[parent_base] =>
[parent_file] =>
[post_type] =>
[taxonomy] =>
[_help_tabs:WP_Screen:private] => Array
(
)
[_help_sidebar:WP_Screen:private] =>
[_screen_reader_content:WP_Screen:private] => Array
(
)
[_options:WP_Screen:private] => Array
(
)
[_show_screen_options:WP_Screen:private] =>
[_screen_settings:WP_Screen:private] =>
)
ページベースを識別するためにbase
キーを使うことができます。
例: -
add_action('current_screen', 'wpse_225416_redirect_admin_page');
/**
* Redirect specific admin page
*/
function wpse_225416_redirect_admin_page() {
$my_current_screen = get_current_screen();
if (isset($my_current_screen->base) && $my_current_screen->base == 'about') {
wp_redirect(admin_url());
exit();
}
}
その前はget_current_screen()
は何も返さないのでcurrent_screen
フックを使ってください。