如何在BuddyPress组的自定义选项卡中添加计数

时间:2019-08-28 作者:MastaBaba

我在Buddypress组中创建了一个新选项卡,如下所示:

bp_core_new_subnav_item( array( 
    \'name\' => "new tab <span>$count</span>",
    \'slug\' => \'namings\', 
    \'parent_url\' => $group_link, 
    \'parent_slug\' => $bp->groups->current_group->slug,
    \'screen_function\' => \'bp_group_namings\', 
    \'position\' => 50, 
    \'user_has_access\' => $user_access, 
    \'item_css_id\' => \'namings\' 
));
The$count 变量有一个值。但是,跨度始终从选项卡标题中删除。

如何在选项卡标题中获取计数?

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

您正在使用BP Nouveau模板,对吗?Span标记在旧模板中工作良好。

在Nouveau中,所有链接都没有span标记。查看呼叫function _bp_strip_spans_from_title 以及以下功能bp_nouveau_get_nav_link_text 在里面buddypress\\bp-templates\\bp-nouveau\\includes\\template-tags.php.

因此,请从create subnav item函数中删除span标记。

相反,在Nouveau中,使用2个过滤器添加计数项目。

比如:

function masta_add_namings_count( $count, $nav_item, $displayed_nav ) {

    if ( $displayed_nav == \'groups\' ) {

        if ( $nav_item->slug == \'namings\' ) {

            $count = true;

        }

    }

    return $count;

}
add_filter( \'bp_nouveau_nav_has_count\', \'masta_add_namings_count\', 99, 3 );


function masta_add_namings_count_int( $count, $nav_item, $displayed_nav ) {

    if ( $displayed_nav == \'groups\' ) {

        if ( $nav_item->slug == \'namings\' ) {

            $group_id = bp_get_current_group_id();

            $count = 666; // pass the group_id to a function that returns the proper count

        }

    }

    return $count;

}
add_filter( \'bp_nouveau_get_nav_count\', \'masta_add_namings_count_int\', 99, 3 );

相关推荐

更改默认的BuddyPress头像会影响所有站点头像(因为Gravata)

我一直在寻找一种方法来更改成员的默认Buddypress头像,并对其进行了管理,部分只是使用简单的Buddypress codex信息here.但是食品法典信息并没有起到很好的作用。Gravatar似乎覆盖了它,所以codex代码工作的唯一方式是首先禁用Gravatar。我现在面临的问题是,在为buddypress禁用gravatar时,它会在整个网站上禁用它,因此普通wordpress用户(比如管理员/编辑)无法通过wordpress的后端用户配置文件空间编辑他们的头像,因为它是设置好的,所以你可以“在