【BuddyPress】ユーザーページにオリジナルページを追加しよう

bp-custom.php WordPressのテーマ作成でお馴染み、 function.phpのBuddyPress版みたいなファイル、それがbp-custom.php!

WordPressのテーマ作成でちょっとした設定などをテーマフォルダのfunction.phpに書くことが多いと思いますが、 このBuddyPress版とも言うべきファイルがbp-custom.php。pluginsフォルダディレクトリの直下に設置します。

今回のユーザーページのカスタマイズ方法については全てこのbp-custom.phpに記入してゆきます。

親メニューを追加する# ここからは実際にbp-custom.phpを編集して、ユーザーページメニューをカスタマイズしてゆきます。 BuddyPressのユーザーページのメニューには、親メニューとサブメニューの2つがあります。 メニューを追加するときはadd_actionを使います。

//ユーザーメニューを追加
  add_action( 'bp_setup_nav', 'works_nav');
//ユーザーメニュー追加の独自関数をセット
  function works_nav() {
  global $bp;
  bp_core_new_nav_item( array( 
  'name' => '実績', 
  'slug' => 'works', 
  'position' => 75,
  'screen_function' => 'works',
  'show_for_displayed_user' => true,
  'default_subnav_slug' => 'works',
  'item_css_id' => 'works'
  ) );
  }

オプションについては以下の通り。

  • name… メニューでの表示名
  • slug…スラッグ
  • position 追加メニューの表示場所。数値が大きければ右側に、小さければ左側に。一番左に表示したければ数値は0にします
  • screen_function… 例の通りだと追加メニューのURLはhttp://hoge.com/members/ユーザーID/works/となります。
  • show_for_displayed_user… ユーザーに表示するかしないか、true OR false
  • default_subnav_slug… メニューをクリックした時に最初に表示されるサブメニューの指定
  • item_css_id… 追加メニューに割り当てられるID名。例だとid=”user-works”と、なる

たったこれだけでメニューが追加されます。