wordpress 多站点同时注销所有网络站点

Posted

技术标签:

【中文标题】wordpress 多站点同时注销所有网络站点【英文标题】:wordpress multisite logout of all network sites simultaneously 【发布时间】:2014-02-11 14:57:57 【问题描述】:

我有一个 wordpress 网络(多站点)设置,我希望帮助为一个似乎是 wordpress 多站点本质核心的问题提出解决方案。

问题: 当我登录主网站 (mysite.com/member/) 时,对所有其他网站的访问都会自动进行身份验证和授予。

问题是当退出其中一个网络站点时,wp_logout() 函数似乎只影响正在查看的现有站点。

例如:注销 mysite.com/network-site/ 实际上确实会注销,但导航回 mysite.com/member/ 会显示用户仍处于登录状态并已通过完全访问权限进行身份验证。

问题: 我可以做些什么来编写 wp_logout() 函数,以便网络中的所有站点都将身份验证 cookie 丢弃/删除,从而实际将用户从所有网络站点中注销?

感谢您的帮助! 安德鲁

【问题讨论】:

【参考方案1】:

问题:当我登录到主网络站点 (mysite.com/member/) 访问所有的 其他网络站点被自动认证和授予。

只需从所有其他网站中删除您用于父网站的用户即可。

您可以在您的主要wp-config.php 中定义 wordpress 如何处理身份验证 cookie。我们在这里需要做的是强制 WordPress 遵循正确的 cookie 路径。这可以通过将其添加到位于 WordPress 安装根目录中的 wp-config.php 文件来完成:

define('ADMIN_COOKIE_PATH', '/');
define('COOKIE_DOMAIN', '');
define('COOKIEPATH', '');
define('SITECOOKIEPATH', '');

【讨论】:

用户在网络站点上不活跃——仅在“主”站点上。另外,我已经按照上面的说明进行了 wp-config.php 设置。有没有办法让我强制删除身份验证 cookie?在搜索实际浏览器 cookie 时,它​​在退出其中一个网络站点后仍然存在并处于活动状态。 还有其他人遇到过这个问题吗?我越来越多地将其视为基本的 wordpress 多站点错误。 不,从未见过。多站点安装的管理员不会自动成为子站点的管理员;已删除的 cookie 将您注销。我在几分钟前进行了测试-要么我的安装损坏了,要么你的:-) 对,就我而言,我已经添加/创建了一个超级管理员。然而,我引用的是注册用户,而不是管理员。在这里浏览网站会有帮助吗?

以上是关于wordpress 多站点同时注销所有网络站点的主要内容,如果未能解决你的问题,请参考以下文章

子目录中的 Wordpress 站点,注销功能失败

php 在WordPress多站点网络中获取主站点的博客ID

WordPress 多站点上的网络范围的 Cron 调度

PHP Wordpress 3多站点网络

Docker wordpress 多站点 - 要公开哪些端口?

Nginx 中的多站点 WordPress 重写规则