管理页面重定向到另一个管理页面

时间:2016-05-02 作者:Shae

如何将某些WordPress管理页面重定向到另一个管理页面。

例如,我从不希望用户看到wp-admin/about.php 它应该始终重定向到wp-admin/index.php.

还有几个插件重定向到一个插件欢迎页面,其中包含促销活动,我希望能够检查这个URL是否重定向到这个URL。

1 个回复
最合适的回答,由SO网友:Sumit 整理而成

您可以使用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();
    }
}
使用current_screen 钩,因为在那之前get_current_screen() 将不返回任何内容。

相关推荐

为什么在wp_reDirect之后需要“退出”?

这可能是一个PHP问题,但由于我在wordpress文档页面上遇到了,也许我会在这里得到更好的答案。在…上https://developer.wordpress.org/reference/functions/wp_redirect/ 上面写着注意:wp\\u redirect()不会自动退出,并且应该始终在调用之后退出;我不太明白如果exit 此处省略。PHP的doc 表示exit 是“到”;终止当前脚本;。所以我想如果wp_redirect 已调用function.php, 这个exit 接下来它将停