BuddyPress-向成员添加自定义帖子

时间:2016-07-04 作者:Jay Pagnis

我是Buddypress的新手。我正试图弄清楚以下几点,但似乎没有什么帮助(或者我没有朝着正确的方向看)。

我创建了一个\'meeting\' 作为自定义帖子。我想实现一种功能,使我可以在会议中包括特定的成员。

当我添加此自定义帖子时,这应该仅对这些用户可见,作为活动更新。此外,只有那些用户才能查看帖子,如果可能的话,可以更新帖子。

我已经创建了bp-custom.php 其中,我通过以下方式添加了对Buddypress for meeting的支持:

add_post_type_support( \'meeting\', \'buddypress-activity\' );
我相信这将在默认情况下发布到用户的活动流中。但是我会选择的其他用户呢?

我知道有一个APIbp_activity_add(). 那么,我是否为\'save_post\' 在函数中,检查post类型是否为meeting,然后我执行bp_activity_add() 对于所有用户?但是,如果我已经创建了上面的(#1),它不会重复对创建它的用户的活动流的更新吗?

1 个回复
SO网友:user1049961

还有更多问题:

1) 添加关于添加会议的活动

您可以使用save_post 钩子添加活动,但我宁愿添加自定义通知,因为活动项很容易丢失。本教程介绍了如何操作https://webdevstudios.com/2015/10/06/buddypress-adding-custom-notifications/

2) 让用户查看帖子

您应该保存post_meta 使用用户ID数组,而不仅仅是与if (in_array(get_current_user_id(), $invited_users_ids)).

3) 允许用户编辑帖子

取决于是在前端还是在管理中?如果在前端,只需创建一个自定义模板,检查是否允许用户编辑帖子,并构建一个表单来编辑帖子。如果在admin中,有多种方法可以做到这一点-使用add_cap 将是一个,使用pre_get_posts 筛选另一个

相关推荐

BuddyPress返回错误的xprofile日期

一切正常,但突然间BuddyPress xprofiledate 字段之前给出一个日期。然而,我已经检查了数据库,输入是正确的。它只是返回了错误的日期。这意味着,如果我将日期设置为1920-12-12,它将存储正确的(相同),但返回1920-12-11。我使用以下BuddyPress函数获取日期。// tried by field id bp_get_profile_field_data([ \'field\' => 5, \'user_id\' =>