基本的に下の写真を見れば私のグループページに5つのタブ項目があります:
今、私はそれらのいくつかを削除できるようにしたいです。 「Members」と「Send Invites」を削除したい(例えば)。
これはフロントエンドグループのページにあります。グループを選択して表示するとき.
本当にコアファイルを編集したくないのですが、他に方法はありますか?多分remove_actionですか?
ありがとうございました。
コアコードをクロールして、この機能を見つけました。
bp_core_remove_subnav_item
だから、あなたはこのようなことをすることができます:
function remove_group_options() {
global $bp;
bp_core_remove_subnav_item($bp->groups->slug, 'members');
bp_core_remove_subnav_item($bp->groups->slug, 'send-invites');
}
add_action( 'bp_setup_nav', 'remove_group_options' );
これはBP 2.0.1で私のために働いています:
Nav項目とsubnav項目を削除するための関数は似ていますが、subnav関数はメインnavを指定するための追加の引数を必要とします。
したがって、次のコードでは、メインナビゲーションアイテム「forums」が削除され、メインナビゲーションアイテム「Profile」から「change-avatar」サブナブアイテムも削除されます。
function remove_nav_items() {
bp_core_remove_nav_item( 'forums' );
bp_core_remove_subnav_item( 'profile', 'change-avatar' );
}
add_action( 'bp_setup_nav', 'remove_nav_items');
私はこれをBP 2.0.1のbp-defaultテーマと私自身のサイトでテストしました。
それが役に立てば幸い :-)
上記の答えは1.5では動作しません
$bp->groups->slug
になる必要があります
bp_get_current_group_slug()
両方のバージョンのbpをサポートするには、次のようにします。
function remove_group_options()
{
global $bp;
$parent_slug = isset( $bp->bp_options_nav[$bp->groups->current_group->slug] ) ? $bp->groups->current_group->slug : $bp->groups->slug;
bp_core_remove_nav_item( $parent_slug, 'members' );
bp_core_remove_nav_item( $parent_slug, 'send-invites' );
}
add_action( 'bp_setup_nav', 'remove_group_options' );