如何在 MultiSite WordPress 会话中设置和获取公共变量?
How to set and get common variable in session for MultiSite WordPress?
我正在使用 MultiSite WordPress。我想在 session/cookies 中为所有站点设置和获取公共变量。
我的站点是:
NetWrok 站点:
子域网站是:
和
问题是当我在“http://www.sitename.com”中设置会话值但无法在 "http://hindi.sitename.com"
和 "http://urdu.sitename.com"
中获取该值时
还有其他解决方案吗?
提前致谢
跨子域使用会话 cookie 是一个众所周知的问题:PHP Sessions across sub domains
但是,如果您想在您的 wordpress 多站点站点之间共享公共信息,则以下方法可能有效(如:
$some_name = session_name("shared_multisite_sesssion");
session_set_cookie_params(0, '/', '.sitename.com');
session_start();
仅对会话使用 cookie
session.use_only_cookies = 1
session.cookie_httponly = 1
在您的 WordPress 配置中设置以下参数:
define( 'COOKIE_DOMAIN', '.sitename.com' ); // Dot prefix
define( 'COOKIEPATH', '/' );
define( 'COOKIEHASH', md5( 'sitename.com' ) );
但是,您应该注意一些警告:
- WordPress 多站点站点有时是独立的 - 一旦它们拥有自己的域,这将不再有效 (Share a cookie between two websites)
- 许多设置中的 WordPress 多站点站点旨在成为具有相似设计的独立站点。通过公共会话连接这些站点可能不是最好的架构想法。
我正在使用 MultiSite WordPress。我想在 session/cookies 中为所有站点设置和获取公共变量。
我的站点是:
NetWrok 站点:
子域网站是:
和
问题是当我在“http://www.sitename.com”中设置会话值但无法在 "http://hindi.sitename.com"
和 "http://urdu.sitename.com"
还有其他解决方案吗?
提前致谢
跨子域使用会话 cookie 是一个众所周知的问题:PHP Sessions across sub domains
但是,如果您想在您的 wordpress 多站点站点之间共享公共信息,则以下方法可能有效(如:
$some_name = session_name("shared_multisite_sesssion");
session_set_cookie_params(0, '/', '.sitename.com');
session_start();
仅对会话使用 cookie
session.use_only_cookies = 1
session.cookie_httponly = 1
在您的 WordPress 配置中设置以下参数:
define( 'COOKIE_DOMAIN', '.sitename.com' ); // Dot prefix
define( 'COOKIEPATH', '/' );
define( 'COOKIEHASH', md5( 'sitename.com' ) );
但是,您应该注意一些警告:
- WordPress 多站点站点有时是独立的 - 一旦它们拥有自己的域,这将不再有效 (Share a cookie between two websites)
- 许多设置中的 WordPress 多站点站点旨在成为具有相似设计的独立站点。通过公共会话连接这些站点可能不是最好的架构想法。