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
请问如何根据不同的用户页跳转不同的页面?if ($current_user->user_level < 3 ) {//跳转到普通用户界面} else{跳转到高级用户界面},但不管你用什么角色的用户去登陆 $current_user->user_level的输出都是0。。。。这是为什么呢
@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
请问如何根据不同的用户页跳转不同的页面?
照着LODOU的方法去修改了,已经OK,那想请问,反之退出呢,怎么才能在退出的时候返回首页,而不是返回后台入口。
@TEA <a href="<?php echo wp_logout_url( home_url() ); ?>" title="Logout">Logout</a>
把上面的代码放到你的主题文件中。
@TEA 更多内容可以参考这篇文章:https://www.ludou.org/logout-redirect.html
我记着有一款自定义网站url的插件,但是想不起什么名字了,记得告诉我一声啦,谢谢
如果登录后要自动返回入口页面呢!
比如在首页登录就返回到首页,在栏目登录返回到栏目,内容页登录返回到内容页!
就是判断用户登陆前的网址返回!
@monad https://www.ludou.org/wordpress-back-to-page-earlier-after-land.html
露兜,我想实现一个 登陆才可以浏览博文的功能,就是已经登陆的用户直接打开内容页,如果没有登陆的话,就直接跳转到您开发的 ludou-custom-register的登陆注册页面,然后注册登陆后再用您开发的跳转回登陆前页面,也既内容页面。
通过百度搜索,我想一步步实现这个功能,前两步都是在您的博客上找到的,您的提供的前两个地方我已经自己改好了,但是最后一步可能是太偏颇了,没有在您博客和网上找到方法,求您赐教打开内容页,如果cookies中没有已经登陆的信息就跳转到登陆注册页面 的实现方法!万分感谢!!就差这一步了!
希望您看到后能给我回复!
@阿策 可以看看这个:https://www.ludou.org/wordpress-plugin-login-to-view-all.html
我用的最新的WP版本,这个地方试过,好象无效,还是在那个方向盘的页面了。
请问怎么借用WP的密码机制。共用WP的数据表。自己写个登陆界面?
@大可乐 你可以在php文件开头插入:
define(‘WP_USE_THEMES’, false);
// wp-load.php的路径自己改
require($_SERVER[‘DOCUMENT_ROOT’] . ‘/wp-load.php’);
然后参考下文的方法一:
https://www.ludou.org/wordpress-auto-login.html
你好,有具体联系方式吗?我还是不太明白你的意思,我的网站因为之前一直是wp-admin登陆,现在登陆不了。想请你帮忙通过根目录改一下
@tata wp-login.php
@Ludou 你好。我找到了这个目录,但是具体怎么改我不会,看不明白,能否帮个忙
@Ludou 能否远程协助一下
如何使用这种方法:登陆后返回到登陆之前那个页面?
@lucifer 善用搜索:
https://www.ludou.org/wordpress-back-to-page-earlier-after-land.html
貼了可是沒有改變,為何? 登出後的可行,請求教學(T_____T)
@新手 那就不清楚了,请说说你是怎么修改的。
@露兜 就像版主所說的把程式碼貼在functions.php的末尾,
因為我想要登入後跳轉回首頁,
鎖以我把9到11行改成" $redirect_to = 'http://这里填你的网址'; "
這樣
@新手 抱歉,文中代码行数有误,是9-12行。
如果是跳轉回首頁,可以改成:
return home_url();
露兜,您好,请问下在wordpress登录中,自动识别登录身份,管理员的话跳转到可以登录到后台的首页,其他成员的话分别自动跳转到不同身份的页面可以实现吗?
@kuronuma if (!current_user_can('edit_post', $post_id))
管理员的话跳转到可以登录到后台的首页
else
其他成员的话分别自动跳转到不同身份的页面
博主网站搬家后,某一个页面总是跳转到首页。请教一下,这是什么原因?