- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想在发生特定事件时向我的 buddypress“通知”选项卡添加自定义通知。如何实现这一目标?
最佳答案
我遵循了本教程并且非常完整。 为我工作
// this is to add a fake component to BuddyPress. A registered component is needed to add notifications
function custom_filter_notifications_get_registered_components( $component_names = array() ) {
// Force $component_names to be an array
if ( ! is_array( $component_names ) ) {
$component_names = array();
}
// Add 'custom' component to registered components array
array_push( $component_names, 'custom' );
// Return component's with 'custom' appended
return $component_names;
}
add_filter( 'bp_notifications_get_registered_components', 'custom_filter_notifications_get_registered_components' );
// this gets the saved item id, compiles some data and then displays the notification
function custom_format_buddypress_notifications( $action, $item_id, $secondary_item_id, $total_items, $format = 'string' ) {
// New custom notifications
if ( 'custom_action' === $action ) {
$comment = get_comment( $item_id );
$custom_title = $comment->comment_author . ' commented on the post ' . get_the_title( $comment->comment_post_ID );
$custom_link = get_comment_link( $comment );
$custom_text = $comment->comment_author . ' commented on your post ' . get_the_title( $comment->comment_post_ID );
// WordPress Toolbar
if ( 'string' === $format ) {
$return = apply_filters( 'custom_filter', '<a href="' . esc_url( $custom_link ) . '" title="' . esc_attr( $custom_title ) . '">' . esc_html( $custom_text ) . '</a>', $custom_text, $custom_link );
// BuddyBar
} else {
$return = apply_filters( 'custom_filter', array(
'text' => $custom_text,
'link' => $custom_link
), $custom_link, (int) $total_items, $custom_text, $custom_title );
}
return $return;
}
}
add_filter( 'bp_notifications_get_notifications_for_user', 'custom_format_buddypress_notifications', 10, 5 );
Here you add the notification when someone writes you on a post. Use the action hook
wp_insert_comment
for catch that event.
// this hooks to comment creation and saves the comment id
function bp_custom_add_notification( $comment_id, $comment_object ) {
$post = get_post( $comment_object->comment_post_ID );
$author_id = $post->post_author;
bp_notifications_add_notification( array(
'user_id' => $author_id,
'item_id' => $comment_id,
'component_name' => 'custom',
'component_action' => 'custom_action',
'date_notified' => bp_core_current_time(),
'is_new' => 1,
) );
}
add_action( 'wp_insert_comment', 'bp_custom_add_notification', 99, 2 );
<?php
// this is to add a fake component to BuddyPress. A registered component is needed to add notifications
function custom_filter_notifications_get_registered_components( $component_names = array() ) {
// Force $component_names to be an array
if ( ! is_array( $component_names ) ) {
$component_names = array();
}
// Add 'custom' component to registered components array
array_push( $component_names, 'custom' );
// Return component's with 'custom' appended
return $component_names;
}
add_filter( 'bp_notifications_get_registered_components', 'custom_filter_notifications_get_registered_components' );
// this gets the saved item id, compiles some data and then displays the notification
function custom_format_buddypress_notifications( $action, $item_id, $secondary_item_id, $total_items, $format = 'string' ) {
// New custom notifications
if ( 'custom_action' === $action ) {
$comment = get_comment( $item_id );
$custom_title = $comment->comment_author . ' commented on the post ' . get_the_title( $comment->comment_post_ID );
$custom_link = get_comment_link( $comment );
$custom_text = $comment->comment_author . ' commented on your post ' . get_the_title( $comment->comment_post_ID );
// WordPress Toolbar
if ( 'string' === $format ) {
$return = apply_filters( 'custom_filter', '<a href="' . esc_url( $custom_link ) . '" title="' . esc_attr( $custom_title ) . '">' . esc_html( $custom_text ) . '</a>', $custom_text, $custom_link );
// Deprecated BuddyBar
} else {
$return = apply_filters( 'custom_filter', array(
'text' => $custom_text,
'link' => $custom_link
), $custom_link, (int) $total_items, $custom_text, $custom_title );
}
return $return;
}
}
add_filter( 'bp_notifications_get_notifications_for_user', 'custom_format_buddypress_notifications', 10, 5 );
// this hooks to comment creation and saves the comment id
function bp_custom_add_notification( $comment_id, $comment_object ) {
$post = get_post( $comment_object->comment_post_ID );
$author_id = $post->post_author;
bp_notifications_add_notification( array(
'user_id' => $author_id,
'item_id' => $comment_id,
'component_name' => 'custom',
'component_action' => 'custom_action',
'date_notified' => bp_core_current_time(),
'is_new' => 1,
) );
}
add_action( 'wp_insert_comment', 'bp_custom_add_notification', 99, 2 );
关于notifications - 在buddypress中添加自定义通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23148948/
关闭。这个问题是off-topic .它目前不接受答案。 想改进这个问题? Update the question所以它是on-topic对于堆栈溢出。 10年前关闭。 Improve this qu
所以我有 Buddypress 中某人的用户 ID。 打印出他们的头像的功能是什么? 链接到他们的个人资料的功能是什么? 最佳答案 这将按用户 ID 显示用户头像,并使头像成为指向其个人资料的可点击链
这是关于一个 buddypress 插件(插件),我无法对其进行主题化。我搜索了很多网站,但无法获得具体的解决方案。在插件页面中,如果它是 buddypress 主题,Header 会受到干扰,但在默
我已经使用自定义配置文件字段设置了 BuddyPress,该字段列出了与我的网站相关的标签的复选框。 有没有办法在新帖子发布时根据注册的 BuddyPress 用户的自定义个人资料字段选择向其发送自动
我向我的个人资料页面添加了一个额外的事件提要,用于查询链接的用户并返回他们的事件。问题是,我想将其写入函数,因为网站的其他区域通常需要使用相同的查询。 这是用户查询。这只是一个查找并返回链接用户 ID
我刚刚在无字安装中安装了 buddypress,想创建一个具有自定义样式的子主题。 我已经按照 buddypress codex 的建议从 plugins>buddypress>bp-template
我正在使用 WordPress 和 BuddyPress 创建一个网站。注册应该向所有拥有 .edu 电子邮件地址的人开放。 如果我使用的是 vanilla WordPress,那么使用 regist
我正在使用以下代码在模板中显示登录用户的未读消息计数。 这很好用,但是它需要刷新页面才能更新。由于我在整个站点中大量使用
我正在使用 wordpress multisite 以及安装的 buddypress。 我想为更新帖子的用户添加一个事件。但是,它不起作用。没有添加事件。 这是我的代码: function buddy
我正在使用 WordPress 和带有 suffusion 主题的 buddypress 建立一个网站。都是最新的。像往常一样,我有垃圾邮件发送者注册并禁止他们作为注册。我在 htaccess 文件中
有没有办法在 BuddyPress 成员(member)资料页面下添加额外的自定义标签?我的意思是事件、个人资料、消息等旁边的自定义选项卡。 最佳答案 有一个插件叫BuddyPress Custom
我在 WordPress 安装上使用 buddypress。我想将一个 user_id 数组放入一个变量中,然后我可以使用该变量进行操作,例如,在 HTML 中列出或向其发送消息。 我尝试使用以下代码
我正在设置一个 Wordpress 页面,我正在尝试自定义 buddypress 组的外观。我希望它们水平显示而不是垂直显示。谁能指导我完成?
我有一个模板,它显示一个带有图像的气泡。但我想用 Wordpress 中登录用户的头像替换这张图片。 我该怎么做? 这是我的部分代码:
我刚刚在我的 wordpress 驱动的网站上安装了 buddypress,我想防止管理栏在您向下滚动时跟随屏幕。我怎样才能让它在页面顶部保持静止,并让它在您向下滚动时消失在视野之外? 感谢您的帮助。
在 buddypress 将详细信息保存到 mysql 数据库后,我试图将用户和组的详细信息保存到 Active Directory (LDAP) 中。 我可以在哪里放置代码以在 LDAP 中保存用户
我想在配置文件设置中隐藏子导航 我隐藏子导航评论“wp-content\plugins\buddypress\bp-settings\bp-settings-loader.php” // Add Ge
当用户上传新头像时,头像会发布在事件墙中。 如何使用 userId 获取此事件 ID? 我认为唯一的方法是创建一个自己的查询,对吧? 最佳答案 您可以编写查询来获取该事件。还有一个过滤器可以卡在其中,
我有一个具有 Buddypress (1.8.1) 社交网络功能的多用户 Wordpress (3.6.1) 博客站点。我正在尝试向 Buddypress 成员个人资料添加一个选项卡,其中包含个人资料
我有一个网站,在这个网站上,我也在使用 BuddyPress 插件。但是现在我面临着与特殊和拉丁字符存储到数据库以及在前端错误显示相关的问题。 例如: 1) ö 显示为 u006f 2) Jörg 显
我是一名优秀的程序员,十分优秀!