BuddyPress 将很快改进其加载 JavaScript 和 CSS 资产的方式,以便它们仅在社区页面上加载。以前,该插件会在每个页面上不加选择地加载它们。
BuddyPress 首席开发人员 Mathieu Viet 表示,他不确定是否有具体原因可以解释为什么保留这一点。在插件在 1.7 版本中引入 BP Theme Compat API之前,有必要使用 BuddyPress 兼容主题,例如默认捆绑的主题(BP Default)。
“我认为我们保留了这个主题将这些资产加载到我们添加到 BuddyPress 的第一个模板包(BP Legacy)中的方式,”Viet 说。
用户经常要求 BuddyPress 仅在社区页面上加载其资产,以期进一步优化他们的网站。例如,在 2020 年,BuddyDev 论坛上的一位用户请求自定义代码来完成此操作。专家建议不要这样做
BuddyPress 撰稿人 Brajesh Singh 说:“这不会对你有太大帮助,而且会在未来引起很多问题。” “有些依赖插件可能会开始抛出 JavaScript 错误并破坏您网站的某些功能。这不值得付出努力。”
Singh 建议用户启用浏览器缓存以避免多次加载资产,并坚持启用 gzip 压缩和其他优化措施的最佳实践。他还建议添加一个插件,有条件地阻止在某些页面上加载 BuddyPress。
在 11.0.0 版本中,BuddyPress 核心将逐步转向仅加载社区区域所需的资产。此更新仍将在任何地方加载 JS 和 CSS,但将提供一个过滤器,用户可以将其添加到他们的bp-custom.php 文件中,以便仅将 BP 资产保留在社区页面上:
add_filter( 'bp_enqueue_assets_in_bp_pages_only', '__return_true' );
“如果使用上述过滤器,您发现您的网站由于使用特定的 BP 插件或主题而出现问题,请 在此处报告, 然后我们将有另一个开发周期来解决问题,然后我们将这些资产完全限制为BuddyPress 在版本 12.0.0 中的第二步生成页面,”Viet 说。
版本 11.0.0 预计将于 2022 年 12 月 14 日发布。一直希望插件以这种方式运行的早期采用者和 BuddyPress 网站所有者可以在下一次使用过滤器的重大更新后利用它。如果用户正在排除故障并遇到插件问题,也可以轻松删除过滤器。