Redirecting from login

时间:2020-10-28 作者:PeterB

我希望我的站点在登录到site\\u url(“/”)后,为除“administrator”之外的所有用户重定向。我还希望admin\\u栏显示特定角色ie event\\u planner。除了当和event\\u planner登录并单击管理栏进入管理时,它会重定向到“/”之外,其他功能都正常工作。用于重定向的挂钩是“admin\\u init”,这显然是错误的。是否有另一个钩子可以用来在登录时重定向到/而不是在按下管理栏上的仪表板时重定向。

谢谢

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

有一个过滤器叫做login_redirect.

add_filter( \'login_redirect\', \'wpse377295_login_redirect\', 10, 3 );
function wpse377295_login_redirect( $url, $request, $user ) {
    if ( is_wp_error( $user ) ) {
        // It\'s possible that the $user param is a WP_Error. If so, bail out.
        return $url;
    }
    if ( ! user_can( $user, \'update_core\' ) {
        // Only admin users can update core, normally.
        $url = site_url( \'/\' );
    }
    return $url;
}
过滤器文档中有一个更完整的示例User Contributed Notes.

参考文献login_redirect
  • user_can()
  • 相关推荐

    OOP development and hooks

    我目前正在为Wordpress编写我的第一个OOP插件。为了帮助我找到一点结构,a boiler plate 这为我奠定了基础。在里面Main.php 有一种方法可以为管理员加载JS和CSS资产:/** * Register all of the hooks related to the admin area functionality * of the plugin. * * @since 0.1.0 * @access private