如何从非登录用户的角度查看站点

时间:2011-10-25 作者:Saif Bechan

我正在写一个新的博客。我以管理员身份登录,在每篇帖子上方都有一个“编辑此条目”选项。

我是否可以设置WordPress,这样即使我以管理员身份登录,我仍会像未登录一样查看网站的前端。这是我可以看到用户将如何查看页面。

一种选择是只在另一个浏览器中查看网站,但我想必须有另一个页面。

6 个回复
最合适的回答,由SO网友:Brooke. 整理而成

看到这个了吗related question. 您应该能够将此代码添加到主题函数中。php

   add_filter( \'edit_post_link\', \'__return_false\' );

SO网友:Chip Bennett

这些编辑链接取决于主题,通过edit_post_link() 模板标记。然而,在登录用户和未登录用户之间,站点外观还有其他几个类似的差异:管理栏、编辑帖子链接、编辑评论链接、登录/注销/注册链接(直接添加到模板或通过小部件)等。

这些并不真正构成“前端编辑”;它们只是根据用户的登录状态显示(或更改)的链接。

您最好的选择很可能是在未登录站点的浏览器中查看站点。

SO网友:Tom J Nowell

打开隐私或匿名模式,或使用其他浏览器,这是唯一可靠的方法。人们可能会给你一些过滤器,这些过滤器可以消除一件事或另一件事,但永远不会有百分之百完美的代码修复。

要求提供一种解决方案,使您能够像未登录一样查看前端,这会带来一系列全新的问题,例如人们无法登录和评论,因为它不会记住他们,等等

你所要求的基本上是“我有一辆车,我想到处开车,但我不想用轮子,我怎么加坦克踏板?”这是可行的,但不是真正的解决方案。

SO网友:Rarst

您可以使用用户信息有条件地取消全局变量,如下所示:

function no_user() {

    global $current_user;

    if( is_admin() )
        return;

    $current_user = -1;
}
我不知道什么时候做这件事最合适。在上执行此操作template_redirect 应该尽早取消模板中的大多数(如果不是全部)内容。

我也去了-1 因为它不是空的(这将触发在调用某些相关函数时重新设置),但最好使用现有非特权用户的信息进行设置。

SO网友:Jory Hogeveen

我创建了一个插件,可以让你以访问者的身份查看你的网站,而无需切换浏览器以及更多内容(用户切换、角色切换、默认屏幕设置、角色管理器等)。

希望它也能帮助您:https://wordpress.org/plugins/view-admin-as/

SO网友:GDY

只需在first possible moment:

add_action( \'set_current_user\', \'kill_user\', 999999 );

function kill_user() {

    global $current_user;

    $current_user = new WP_User();

}
我使用了一个高数字作为优先级,以防其他钩子在这里执行某些操作。此外,变量不能仅为false或空,因为后面的函数预期这是WP\\u用户对象。。。

感谢前往Rarst and his answer.

结束

相关推荐

在将ADD_ROLE添加到unctions.php并创建用户后,无法登录到admin

我正在尝试添加一个特定的角色来管理我的自定义帖子类型,但我在一开始就陷入了困境。我添加了add_role() 功能。php文件如下:add_role(\'resourcerer\', \'Resourcerer\', array(\'read_internal_jobs\')); 并创建了一个具有该角色的用户。但是,当我尝试使用新用户登录时,会出现一个错误You do not have sufficient permissions to access this page. 我不知道我做错了什么: