BuddyPress 即将推出 改进加载 JavaScript 和 CSS 资产的方式 以便它们仅加载到社区页面上。 以前,该插件会在每个页面上不加选择地加载它们。
BuddyPress 首席开发人员 Mathieu Viet 表示,他不确定是否有具体原因可以解释为什么保留这一点。 插件前 引入了 BP Theme Compat API 在 1.7 版中,有必要使用 BuddyPress 兼容主题,例如默认捆绑的主题(BP 违约).
“我认为我们保留了这个主题将这些资产加载到我们添加到 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 网站所有者可以在下一次使用过滤器的重大更新后利用它。 如果用户正在排除故障并遇到插件问题,也可以轻松删除过滤器。