如何将BuddyPress通知下拉项拆分到它们自己的顶层?

时间:2011-09-07 作者:Swagg

我想知道是否可以将顶部栏中的通知(在wp顶部栏中弹出的通知)拆分为各自的菜单项:“通知”、“消息”和“朋友请求”,而不是将它们全部放在通知下拉列表中。基本上,我希望通过他们的通知实现Facebook的效果。如果有人能把我引向正确的方向,我将不胜感激

p、 我是一个前端开发人员,不是世界上最精通PHP的人。

:)

2 个回复
SO网友:Boone Gorges

假设您谈论的是WP工具栏,而不是BuddyBar。(对BuddyBar执行此操作的基础在BP级别是相同的,但呈现内容的细节不同。)

看看BP自己是如何构建其通知下拉列表的,这将是很有启发性的bp_members_admin_bar_notifications_menu() (bp-members/bp-members-adminbar.php). 它使用BP函数bp_core_get_notifications_for_user() 调用通知列表。后一个函数的特点是:在内部,它按类型组织通知(以获取计数),然后再将其平展。这意味着您的策略是构建自己版本的bp_core_get_notifications_for_user(), 借用分组逻辑,但不是将所有通知折叠为单个对象,而是返回仅包含特定类型通知的对象(基于此处所称的$notification->component_name$notification->component_action). 然后根据返回的信息创建新的WP工具栏菜单,使用与bp_members_admin_bar_notifications_menu() 但乘以3(用于通知、消息和好友请求)。

我认为BuddyPress本身有一个合理的增强请求,即componentaction 参数(或两者兼有)bp_core_get_notifications_for_user(). 您可以将此请求留在http://buddypress.trac.wordpress.org 如果你愿意的话。

SO网友:Dave Konopka

您可以通过挂钩到呈现管理栏的函数来修改它。这需要编写一个自定义插件。

Modifying the BuddyPress admin bar

结束

相关推荐

BuddyPress-没有配置文件的新用户类型,不能交互,但可以是组管理员

我需要一种简单的方法来创建一组无法与其他用户交互的用户,他们所能做的就是管理一个组(他们可以将文档上传到组文档插件,还可以更改名称、描述和头像)。除此之外,他们不允许拥有个人资料,也不允许与其他用户交互、发布到组或其他任何内容。他们所能做的就是登录并管理他们的组。有什么想法吗?我非常喜欢以插件格式创建它,并且不想编辑任何核心文件。谢谢你的帮助。汤姆