多个wordpress共享用户信息、共享Cookie

背景信息

由于wordpress的问答平台QA主题与插件githuber-md-1.10.1不能共存,为了编写博文方便,因此重新创建了博客论坛。为了解决用户无缝衔接的困扰,因此打算两个网站公用一个数据库,共享用户信息。

共享用户信息

问答中心

目前问答中心网址为:http://xxx.xxx.xxx/wordpress

​ 数据库名为:wordpress

​ 用户/密码为:root/root

​ 用户信息信息表为:wp_users、wp_usermeta

​ 表的前缀:wp_

博客论坛:

​ 目前博客暂定网址为:http://xxx.xxx.xxx/blog,进入blog目录下,创建wp-config.php,把如下文本信息复制到创建创建文件中:

jYCHSWN`G.CP<{p?7<3b{lNb7NoM;WQIp:j^ipzAFPA458Vb');
define('NONCE_KEY',    'VHh&21a[wf;os>C}uM{#d:DP8]tYv(bD?rS,%k-AO/b_HKgpn.4cOZeL{aJFHGL+');
define('AUTH_SALT',    'N5u4$Tvk.)->sGN8m[9*Ta%rRy#Ezh{vIkC?>R*Qq*x5x3&3');

/**#@-*/

/**
 \* WordPress数据表前缀。
 *
 \* 如果您有在同一数据库内安装多个WordPress的需求,请为每个WordPress设置
 \* 不同的数据表前缀。前缀名只能为数字、字母加下划线。
 */
$table_prefix = 'bg_';


/**
 \* 开发者专用:WordPress调试模式。
 *
 \* 将这个值改为true,WordPress将显示所有用于开发的提示。
 \* 强烈建议插件开发者在开发环境中启用WP_DEBUG。
 *
 \* 要获取其他能用于调试的信息,请访问Codex。
 *
 \* @link https://codex.wordpress.org/Debugging_in_WordPress
 */
define('WP_DEBUG', false);

/* 好了!请不要再继续编辑。请保存本文件。使用愉快! */

/** WordPress目录的绝对路径。 */
if ( !defined('ABSPATH') )
define('ABSPATH', dirname(__FILE__) . '/');

/** 设置WordPress变量和包含文件。 */
require_once(ABSPATH . 'wp-settings.php');

安装成功之后,博客论坛网站可以使用之前问答中心的用信息登录使用。

上述文件中的两行内容:

define('CUSTOM_USER_TABLE', 'wp_users');
define('CUSTOM_USER_META_TABLE', 'wp_usermeta');

表示两张表不进行创建,其表需要创建。这两张表存放用户信息。至此,用户可以登录博客平台。如果出现提示登录博客论坛未有权限,可以执行下述sql,但需要进行调整:

insert into wp_usermeta SELECT NULL,`user_id`,REPLACE(`meta_key`,'wp_capabilities','bg_capabilities'),`meta_value` FROM `wp_usermeta` where `meta_key`='wp_capabilities'

需要在这张表加入bg_capabilities,解决权限问题。

实现Cookie共享

问答中心wordpress、博客论坛blog目录的wp-config.php文件中/* 好了!请不要再继续编辑。请保存本文件。使用愉快! */之前添加信息:

define('SECRET_SALT','Q$QuHIfQO^(CtrL5D(fcG$miB,fE2]-~::qoB,O_?o|TfgNfQB/x/kv$Tg1Aa7Hf');
define('ADMIN_COOKIE_PATH','/');
define('COOKIEPATH','/');
define('SITECOOKIEPATH','/');
define('COOKIEHASH',md5('xxx.xxx.xxx'));

重启服务,登录其中一个论坛,另一个论坛不需要登录,用户已经存在。

实现效果

登录前

登录http://xxx.xxx.xxx/blog/前:

在这里插入图片描述

登录http://xxx.xxx.xxx/wordpress/前:
在这里插入图片描述

登录后:
wordpress

http://xxx.xxx.xxx/wordpress/

wordpress

登录http://xxx.xxx.xxx/blog/
blog信息

上述发现,登录完问答中心之后,博客论坛用户也已经登录成功。

关注我们

你可能感兴趣的:(多个wordpress共享用户信息、共享Cookie)