我一直在使用WP一段时间,但总是作为一个“独立”的网站,现在我正在寻找一个博客作为我的主要网站的部分,并一直在寻找最好的消除注册/登录冗余的方法,理想地使用我的主要网站数据库中的用户数据,以最简单,最安全的方式安装WP。 WP博客位于主站点的子文件夹中的同一服务器上。
在发布此解决方案之前,我一直在寻找解决方案,但似乎围绕此主题的大多数讨论涉及在多个WP网站之间共享用户而不是非WP主网站。
我找到的几个可能的选项,但不确定是否可行,如下:
1)一个插件(外部数据库身份验证)似乎是票证,但显然还没有更新一段时间,并显示版本2.9.2作为最后一个兼容版本。是否有其他/更好/维护的插件替代品?我找不到任何其他看起来像这个一样的点。我DID尝试让它工作,但无法登录WP安装:
我创建并向我的主网站数据库添加了一个新用户,其中唯一的权限被选中为“选择”并使用了表单上的所有主要网站数据库信息:
姓名:myws_mysitedb |用户:myws_newwpuser |密码:新用户的密码|用户表:sitetable_logins
用户名:用户名|密码:密码|加密类型:其他|哈希:我主网站上使用的软件制造商确实使用了什么
我还通过主站点注册系统创建了一个用户,其用户名和密码与WP安装上的管理员名称/密码完全相同,因为它必须对管理员用户以及主外部数据库进行身份验证。
看到我做错了什么?我也尝试了新用户拥有所有权限但没有效果。
2)我已阅读有关添加define('CUSTOM_USER_TABLE', $table_prefix.'my_users');
define('CUSTOM_USER_META_TABLE', $table_prefix.'my_usermeta');
的内容
但是不明白是否会在WP端本身处理注册/登录问题本身与否,如果目前没有这样的表,我不确定我是否必须使用“meta_table”在主数据库中,我不确定我应该如何指定WHERE另一个表使用的是...我已经读过$ table_prefix再次引用多个WP实例在同一个数据库上(或者某个东西)像那样)所以不要以为我需要那个。我测试了一些内容,将其更改为:define('CUSTOM_USER_TABLE', custom_databasename.'custom_tablename');
define('CUSTOM_USER_TABLE', 'custom_databasename.custom_tablename');
简单地说:define('CUSTOM_USER_TABLE', 'custom_user_table');
但是我不允许我从我的主站点登录当前用户。
我希望这个问题/请求不会令人讨厌,并且我不应该找到一个我自己已经找到的出色的解决方案,但我很惊讶我找不到一个简单的分步过程来分享来自我现有网站/不同数据库的用户使用Wordpress博客......
我提前感谢您的任何提示和帮助!
答案 0 :(得分:0)
一种(略微hacky)方法可能是在主站点用户表上定义插入/更新触发器。
每当插入或更新用户时,都会在wordpress用户数据库中创建或更新相应的记录。如果你想要双向集成,你也可以在Wordpress用户表上创建类似的触发器。