WordPress退出后跳转到指定页面

日期: 标签:WordPress教程
如需帮忙改代码,或者WordPress二次开发、PHP网站建设等需求,可联系我购买付费服务:  点此联系我

之前发布的一篇教程:WordPress替换登陆后的默认首页,可实现登录WordPress后台后跳转到指定页面。现在问题又来了,能不能实现退出(登出)后台后跳转到指定页面呢?而不是这个:

WordPress Logout

这个问题也很好解决,将下面的php代码放到当前主题的functions.php中即可:

add_filter('logout_url', 'ludou_logout_redirect', 10, 2);

function ludou_logout_redirect($logouturl, $redir) {
  $redir = 'https://www.ludou.org/'; // 这里改成你要跳转的网址
  return $logouturl . '&redirect_to=' . urlencode($redir);
}

这样你在后台页面右上角点击退出后,就可以跳转到指定页面了。如果你是想在前台添加一个退出链接,点击后退出登录并跳转到指定站内页面,可以使用以下代码(代码中网址改成你的):

<?php if ( $user_ID )  { ?>
<a href="<?php echo wp_logout_url( 'https://www.ludou.org/' ); ?>" title="Logout">Logout</a>
<?php } ?>

如果是要跳转到首页,可以使用下面的代码:

<?php if ( $user_ID )  { ?>
<a href="<?php echo wp_logout_url( home_url() ); ?>" title="Logout">Logout</a>
<?php } ?>

如果是要跳转到退出前所在的页面,可以使用以下代码:

<?php if ( $user_ID )  { ?>
<a href="<?php echo wp_logout_url( home_url(add_query_arg(array(),$wp->request)) ); ?>" title="Logout">Logout</a>
<?php } ?>

-- 完 --

本文采用 「CC BY-NC-SA 4.0」创作共享协议,转载请标注以下信息:
原文出处:露兜即刻 https://www.ludou.org/logout-redirect.html
露兜
kaapass@outlook.com  QQ 825533758

业余编程爱好者。

19 条留言

点此留言
  1. xiaomingtt xiaomingtt

    这是好东西啊!一直觉得wordpress退出和登陆太简陋。不知博主能不能实现在当前页面登陆还跳转到当前页面?

    • Ludou

      @xiaomingtt <a href="<?php echo wp_login_url( home_url(add_query_arg(array(),$wp->request)) ); ?>" title="Login">Login</a>

  2. 向日葵媒体设计

    这个问题我正想解决呢,又学到咯

  3. 主题团购 主题团购

    学习了,解决了我不少的问题啊!牛人啊!

  4. 么么哒

    博主 你空间在哪买的 -。-

    • Ludou

      @么么哒 香港虚拟主机

      • 么么哒

        @Ludou 多大空间和数据库的呢 我的美国主机太慢了 IIS多少合适捏。

  5. 茶话汇 茶话汇

    虽然这个功能貌似意义不大,不过还是要支持下,有想法。。。

  6. 哼哼猪 哼哼猪

    虽然不点退出,不过这段代码很喜欢

  7. 菠萝 菠萝

    这个很实用,兜兜同学发的很多文章很有技术含量,经常过来看,在此表示感谢!

  8. yuyeue

    add_filter('logout_url', 'ludou_logout_redirect', 10, 2);
    function ludou_logout_redirect($logouturl, $redir) {
    $redir = 'https://www.ludou.org/'; // 这里改成你要跳转的网址
    return $logouturl . '&amp;redirect_to=' . urlencode($redir);
    }

    <?php if ( $user_ID ) { ?>
    <a href="<?php echo wp_logout_url( home_url(add_query_arg(array(),$wp->request)) ); ?>" title="Logout">Logout</a>
    <?php } ?>

    都是logout_url 如果两个同时用 下面的代码让钩子改变了 变成一样了? 怎么办?

    • Ludou

      @yuyeue $redir = 'https://www.ludou.org/'; // 这里改成你要跳转的网址
      return $logouturl . '&amp;redirect_to=' . urlencode($redir);

      改成
      if($redir == '') {
      $redir = 'https://www.ludou.org/'; // 这里改成你要跳转的网址
      return $logouturl . '&amp;redirect_to=' . urlencode($redir);
      }

  9. yuyeue

    add_filter('logout_url', 'dreamlam_logout_redirect', 10, 2);
    function dreamlam_logout_redirect($logouturl, $redir) {
    if($redir == '') {
    $redir = '/';
    return $logouturl . '&amp;redirect_to=' . urlencode($redir);
    }
    }

    <?php if ( $user_ID ) { ?>
    <a href="<?php echo wp_logout_url( home_url(add_query_arg(array(),$wp->request)) ); ?>" title="Logout">Logout</a>
    <?php } ?

    前台退出不了

    • Ludou

      @yuyeue if($redir == '') {
      $redir = '/';
      return $logouturl . '&amp;redirect_to=' . urlencode($redir);
      }
      else {
      return $logouturl;
      }

  10. 小清新头像吧 小清新头像吧

    没有用这个功能!

  11. boy

    如果是要跳转到退出前所在的页面,可以使用以下代码:

    <?php if ( $user_ID ) { ?>
    <a href="<?php echo wp_logout_url( home_url(add_query_arg(array(),$wp->request)) ); ?>" title="Logout">Logout</a>
    <?php } ?>

    请问这个是加到哪个文件上呢?谢谢!

  12. domi domi

    你好我在本地测试这个功能好像不好用,不知道是什么原因,1244294949我的QQ,我最近在开发电子商务的主题,希望共同交流WordPress

  13. 小王

    请问博主,比如header里有“首页”和“关于我们” 我现在要点击“关于我们”跳转到这个页面,怎么整啊?a标签为什么不能跳转啊

  14. 绅士福利

    学到了。。哈哈哈

发表留言