如何在BuddyPress组中找到论坛的bbpress论坛ID?

时间:2020-06-04 作者:Gaurav

我正在尝试修改此代码https://www.daggerhart.com/bbpress-recent-replies-shortcode/ 但我有一些具体的问题,无法找到答案。上面的代码生成一个类似于[bbpress\\u recent\\u replies\\u by\\u topic show=10 forum=123]的短代码

我有一个buddypress网站,每个小组都有自己的bbpress论坛。我想列出forum assigned to that group (仅当用户访问组页面时)。因此,基本上我想根据用户所在的组和看到小部件的组来分配论坛ID。

这是上述代码中的函数:

function custom_bbpress_recent_replies_by_topic($atts){
    $short_array = shortcode_atts(array(\'show\' => 5, \'forum\' => false, \'include_empty_topics\' => false), $atts);
    extract($short_array);
而不是\'forum\' => false, 我想让它指向\'forum\' => _bbp_forum_id 或者类似的东西。但是,这不起作用,因为我在群主页上,所以在你单击群菜单中的“论坛”之前,那里还没有论坛。我不知道数据库是如何将BuddyPress组链接到bbpress论坛id的。

一些问题:1)如何查找组指定论坛的论坛id?它是\\u bbp\\u forum\\u id吗?2) 然后,如何将该论坛ID指定为上述代码中小部件的默认论坛ID?

1 个回复
最合适的回答,由SO网友:jannp 整理而成

组的论坛id存储在{yourprefix}_bp_groups_groupsmeta table 哪里group_id 是组id,键是forum_id 并且该值是一个序列化数组。

在bp组模板中添加函数调用可能更容易,而不是使用短代码。类似于:echo gauray_recent_replies( bp_get_group_id() );

function gauray_recent_replies( $group_id ) {
   $forum_id = bbp_get_group_forum_ids( $group_id );
   // collect and return replies
}

相关推荐

BuddyPress活动流-删除/替换[...]摘自博客文章摘录

我正在寻找删除或替换[…]的方法在活动流上的博客文章摘录的末尾。我找到了替代[…]的方法在博客页面上使用以下代码。function new_excerpt_more( $more ) { return \'\'; } add_filter(\'excerpt_more\', \'new_excerpt_more\'); 摘录\\u more是WordPress过滤器。它对博客页面有帮助,但对BuddyPress活动流没有帮助。我找到了另一个过滤器,bp\\u ge