WordPress替换登陆后的默认首页

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

     如果你是想实现登录后返回登录前的页面,可以参考:WordPress登陆之后返回登陆前的页面

     WordPress登陆后默认显示的"仪表盘"页面,也就是之前所说的"控制板"页面,其实这个"仪表盘"页面实际意义真的不大,现在我想登陆后就直接显示"所有文章"页面(或者是后台任何页面吧),该如何操作呢?下面的内容也算是回答 liveme 网友的提问吧。

     其实操作也很简单,使用文本编辑器打开当前主题目录下的functions.php,在末尾加上以下php代码:

/**
 * 名称:WordPress替换登陆后的默认首页
 * 作者:露兜
 * 博客:https://www.ludou.org/
 * 最后修改:2012年04月06日
 */

function my_login_redirect($redirect_to, $request){
  if( empty( $redirect_to ) || $redirect_to == 'wp-admin/' || $redirect_to == admin_url() )
    return home_url("/wp-admin/edit.php");
  else
    return $redirect_to;
}
add_filter("login_redirect", "my_login_redirect", 10, 3);

     其中第10行的:/wp-admin/edit.php,就是登陆后要跳转的后台页面地址,这里设置成所有文章页面,如果你想登陆后跳转到写文章页面,可以改成:/wp-admin/post-new.php,其他的依此类推。

     注意:如果你的WordPress安装在子目录,如wp目录,那么第10行中的地址应该加上子目录,如/wp/wp-admin/edit.php

     如果你想登录后跳转到站内任何一个网址,请将9-12行代码替换成:

$redirect_to = 'http://这里填你的网址';

     如果你非得让wp-admin/index.php完全消失,手工输入网址.../wp-admin/也要让它跳转到所有文章页面,那你就在用文本编辑器打开wp-admin/index.php,将第一个 <?php 改成:

<?php
header("Location: http://…/wp-admin/edit.php");
exit();

     其中http://…/wp-admin/是你的后台网址。这样修改的缺点是,每次WordPress更新,你就得重新修改一次。

     好了,内容就这么简单,你会了吗?不懂可以给我留言。

-- 完 --

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

业余编程爱好者。

70 条留言

点此留言
1 2 386
  1. kalashnikof

    请问如何根据不同的用户页跳转不同的页面?if ($current_user->user_level < 3 ) {//跳转到普通用户界面} else{跳转到高级用户界面},但不管你用什么角色的用户去登陆 $current_user->user_level的输出都是0。。。。这是为什么呢

  2. Ludou

    @kalashnikof function my_login_redirect($redirect_to, $request, $user){
      if( is_array( $user->roles ) ) {
        // 检查用户的角色
        if( in_array( "administrator", $user->roles ) ) {
          // 跳转到管理员用户界面
          return $redirect_to;
        } else {
          // 跳转到其他用户界面
          return home_url();
        }
      }
    }

    add_filter("login_redirect", "my_login_redirect", 10, 3);

    WordPress已使用用户角色来替代用户level,具体的用户角色查看
    http://codex.wordpress.org/Roles_and_Capabilities#Capability_vs._Role_Table

  3. TEA

    请问如何根据不同的用户页跳转不同的页面?
    照着LODOU的方法去修改了,已经OK,那想请问,反之退出呢,怎么才能在退出的时候返回首页,而不是返回后台入口。

  4. Ludou

    @TEA <a href="<?php echo wp_logout_url( home_url() ); ?>" title="Logout">Logout</a>

    把上面的代码放到你的主题文件中。

  5. Ludou

    @TEA 更多内容可以参考这篇文章:https://www.ludou.org/logout-redirect.html

  6. 高高 高高

    我记着有一款自定义网站url的插件,但是想不起什么名字了,记得告诉我一声啦,谢谢

  7. monad

    如果登录后要自动返回入口页面呢!

    比如在首页登录就返回到首页,在栏目登录返回到栏目,内容页登录返回到内容页!

    就是判断用户登陆前的网址返回!

  8. Ludou

    @monad https://www.ludou.org/wordpress-back-to-page-earlier-after-land.html

  9. 阿策 阿策

    露兜,我想实现一个 登陆才可以浏览博文的功能,就是已经登陆的用户直接打开内容页,如果没有登陆的话,就直接跳转到您开发的 ludou-custom-register的登陆注册页面,然后注册登陆后再用您开发的跳转回登陆前页面,也既内容页面。
    通过百度搜索,我想一步步实现这个功能,前两步都是在您的博客上找到的,您的提供的前两个地方我已经自己改好了,但是最后一步可能是太偏颇了,没有在您博客和网上找到方法,求您赐教打开内容页,如果cookies中没有已经登陆的信息就跳转到登陆注册页面 的实现方法!万分感谢!!就差这一步了!
    希望您看到后能给我回复!

  10. Ludou

    @阿策 可以看看这个:https://www.ludou.org/wordpress-plugin-login-to-view-all.html

  11. denny

    我用的最新的WP版本,这个地方试过,好象无效,还是在那个方向盘的页面了。

  12. 大可乐

    请问怎么借用WP的密码机制。共用WP的数据表。自己写个登陆界面?

  13. Ludou

    @大可乐 你可以在php文件开头插入:
    define(‘WP_USE_THEMES’, false);

    // wp-load.php的路径自己改
    require($_SERVER[‘DOCUMENT_ROOT’] . ‘/wp-load.php’);

    然后参考下文的方法一:
    https://www.ludou.org/wordpress-auto-login.html

  14. tata tata

    你好,有具体联系方式吗?我还是不太明白你的意思,我的网站因为之前一直是wp-admin登陆,现在登陆不了。想请你帮忙通过根目录改一下

  15. Ludou

    @tata wp-login.php

  16. tata tata

    @Ludou 你好。我找到了这个目录,但是具体怎么改我不会,看不明白,能否帮个忙

  17. tata tata

    @Ludou 能否远程协助一下

  18. lucifer

    如何使用这种方法:登陆后返回到登陆之前那个页面?

  19. 露兜

    @lucifer 善用搜索:
    https://www.ludou.org/wordpress-back-to-page-earlier-after-land.html

  20. 新手

    貼了可是沒有改變,為何? 登出後的可行,請求教學(T_____T)

  21. 露兜

    @新手 那就不清楚了,请说说你是怎么修改的。

  22. 新手

    @露兜 就像版主所說的把程式碼貼在functions.php的末尾,
    因為我想要登入後跳轉回首頁,
    鎖以我把9到11行改成" $redirect_to = 'http://这里填你的网址'; "
    這樣

  23. 露兜

    @新手 抱歉,文中代码行数有误,是9-12行。
    如果是跳轉回首頁,可以改成:
    return home_url();

  24. kuronuma

    露兜,您好,请问下在wordpress登录中,自动识别登录身份,管理员的话跳转到可以登录到后台的首页,其他成员的话分别自动跳转到不同身份的页面可以实现吗?

  25. 露兜

    @kuronuma if (!current_user_can('edit_post', $post_id))
    管理员的话跳转到可以登录到后台的首页
    else
    其他成员的话分别自动跳转到不同身份的页面

  26. 网站求知

    博主网站搬家后,某一个页面总是跳转到首页。请教一下,这是什么原因?

1 2

发表留言