【发布时间】:2016-10-31 01:46:00
【问题描述】:
我们使用了很多插件,遗憾的是无法删除更多。 我们的后端很慢。
Wordpress 被构建为在每次页面加载时加载每个插件,也在 wp-admin 后端。因此,即使您在不需要插件的页面上,也会加载 woocommerce、联系表 7 等。他们将 CSS 放在页面中,但也做 PHP 的东西并减慢一切。
我们知道插件管理器 - 一种插件,可以有选择地在某些页面上加载某些插件。他们有一个功能可以在后端进行 - 但在前端使用它已经很糟糕了。我们现在在前端使用插件逻辑。
是否已经有插件或手工制作的解决方案来选择应该在 wp-admin 页面上停用/激活哪些插件?
我想它需要加载每个 wp-admin 页面上的每个插件来获取管理菜单(左侧菜单) - 所以我可能需要构建这个菜单并以某种方式缓存它。 然后选择性地激活某些页面的插件。 我们使用自定义字段 - 因此必须在某些页面上激活 ACF 插件 - 也在某些 woocommercer 页面上。 Polylang(用于多语言)必须在很多页面上激活。 但是例如 woocommerce 不需要加载到事件日历页面上,反之亦然。
您是否知道现有的解决方案可以减少构建后端所需的时间。 有缓存选项吗?
【问题讨论】:
-
在 WP 网站上有非活动插件是 0 意义。你能解释为什么你不能删除它们吗?我也不确定您为什么说必须加载它们才能构建菜单。如果不维护非活动插件(安全风险),情况会更糟。
-
Wordpress 101:如果一个插件被激活(所以文件在那里并且它在数据库中注册为“活动”),它会在每个页面加载时加载。 WP 需要加载插件,这样钩子才能完成它们的工作。例如,用于在 wp-admin 区域中注册菜单项的挂钩(操作)。当我说,我想停用某个页面上的插件时,我说的是过滤此页面加载的活动插件数组。所以他们所有的钩子和东西都被忽略了——对于那个页面加载。这是插件管理器所做的de.wordpress.org/plugins/plugin-organizer
-
嗯,现在您已经编辑了您的原始帖子,这更加清楚了。
标签: wordpress