我的应用程序>10user_roles
, 每个都能够执行完全不同的任务,提供了自定义后端,并且没有访问wp-admin
.
每个user_role
通过多个插件处理使用。每个user_role
在相同的数据(帖子、分类法等)上进行交互
我的想法是对一个或多个应用程序使用单个安装user_roles
连接到单个数据库以共享用户、帖子等,但加载了不同的插件,因此只需单独wp_options
桌子
目标是提供独立的登录区域(例如子域,我不希望合作伙伴使用与客户相同的登录),更容易的路由(每个角色的永久链接和重写不同),以及更少的时间检查登录用户在站点受保护部分的权限。此外,我还可以为“仅后端”角色禁用主题,并只加载每个角色执行其操作所需的插件。
我的猜测是,一个很好的副作用将是一个显著的速度提升,因为客户的主站点由woocommerce
我不需要激活woocommerce
在其他情况下,反之亦然。。。为用户/客户前端供电的安装中不会加载自定义插件。
我考虑了多站点功能,但这不是正确的路径,因为每个博客都有自己的posts表,这不实用,因为我需要让所有用户使用相同的数据。
Wordpress提供以下常量来设置自定义用户表,以便在多个安装中共享用户:
define( \'CUSTOM_USER_TABLE\', $table_prefix.\'my_users\' );
define( \'CUSTOM_USER_META_TABLE\', $table_prefix.\'my_usermeta\' );
但它没有提供定义自定义选项表的方法,请参见此票据
https://core.trac.wordpress.org/ticket/7008该线程提供了一个解决方案,虽然有点粗糙,但在我的初始测试中效果很好:https://wordpress.stackexchange.com/a/175494/68858
TL;DR:通过复制的功能修改wpdb类CUSTOM_USER_TABLE
使用CUSTOM_OPTION_TABLE
在里面wp-config.php
.
顺便说一句,他说,第二个网站的内容将链接到第一个网站,我想这只是一个估计。。。所以不,它不会,它工作得很好。
我现在的问题是,你看到我在这种方法中可能面临的任何问题了吗?(多个安装、一个数据库、相同的数据库表和一个单独的选项表或每个安装)
你会建议一种不同的方法,还是坚持默认的wordpress方式?
如何解决修改wpdb的“黑客”问题。php在核心更新的情况下是否持久?
除了可维护性,还有其他缺点吗?(我想这样做会让我受益匪浅)
当这个项目启动时,几乎一半的需求都不存在,而wordpress+woocommerce由于简单而被选中。使用wordpress作为应用程序框架比我想象的要困难得多,也有很大的局限性。
提前感谢您的帮助!
Update:
wordpress支持票证中回答了如何在更新时保留wpdb的修改版本,或者如何在custom\\u USER\\u表之外使用自定义表名的问题。解决方案是扩展wpdb类,在
tables
函数,另存为db。php到wp内容,并将其作为一个下拉菜单使用。通过这种方式,您可以为所有表定义自定义名称,并避免更新core时出现问题。(参见:
#33320)