###前提・実現したいこと
WordPressのBuddyPressというプラグインを使ってSNSサイトを運営しています。
ユーザー同士がフォローできるようにBuddyPress Followというプラグインも併せて導入しております。
BuddyPress Followを有効化すると、BuddyPressの各ユーザーのプロフィールページの親メニューには、「Following」と「Followers」という2つのメニューが表示されるのですが、今回、これらのメニューを親メニューからサブメニューに移したいと考えております。
なお、プログラミングに際して、こちらのページを参考にさせていただきましたので、併せてご参照いただければと思います。
###発生している問題・エラーメッセージ
手順としては、以下のコード①にて、既存の親メニューである「Following」「Followers」の表示を削除し、②と③にて親メニュー「フォロー」とサブメニュー「Following」の構成を整え、④にてサブメニュー「Following」の表示項目を出力しようと考えております。
①~③の部分までは問題なく動作したのですが、④のfunction following_content()にて、既存のメニュー「Following」と同じフォーマットで、フォローしているユーザーの一覧を表示しようと考えたのですが、どうしても上手くいきません。
既存のメニュー「Following」にて出力がなされている以上、おそらくプラグインのファイル(以下ご参照下さい)の該当コードを見つけることが出来れば容易に実現可能なのかもしれませんが、該当するコードが見つけることができませんでした。
https://github.com/r-a-y/buddypress-followers
以下にこれまで作成したコードを記載しておりますので、ぜひアドバイス頂けますと幸いです。
この方法にこだわっているわけではございませんので、最適な方法がございましたらご教示くださいませ。
ご回答に際し、必要な情報などございましたらご連絡下さい。
どうぞよろしくお願い申し上げます。
###試したこと
①既存の親メニュー「Following」「Followers」の削除
php
1function my_setup_nav() { 2 global $bp; 3 bp_core_remove_nav_item( 'following' ); 4 bp_core_remove_nav_item( 'followers' ); 5} 6add_action( 'bp_setup_nav', 'my_setup_nav', 1000 );
②親メニュー「フォロー」の追加
php
1add_action( 'bp_setup_nav', 'my_follow'); 2 3function my_follow() { 4 global $bp; 5 bp_core_new_nav_item( array( 6 'name' => 'フォロー', //メニューの表示名 7 'slug' => 'follow', //スラッグ名 8 'position' => 75, //追加メニューの表示順位 9 'screen_function' => 'follow', 10 'show_for_displayed_user' => true, //ユーザに表示するか 11 'default_subnav_slug' => 'follow', //デフォルト表示のページ 12 'item_css_id' => 'follow' //メニューにIDを付与 13)); 14}
③サブメニュー「Following」の追加
php
1add_action('bp_setup_nav', 'my_following', 100 ); 2function my_following () { 3 global $bp; 4 bp_core_new_subnav_item( array( 5 'name' => 'フォロー', 6 'slug' => 'following', 7 'parent_url' => trailingslashit( $bp->displayed_user->domain . 'follow' ), 8 'parent_slug' => 'follow', 9 'screen_function' => 'following', 10 'position' => 60 11 ) 12); 13}
④サブメニュー「Following」の中身
php
1function following () { 2 add_action( 'bp_template_title', 'following_title' );//カスタムユーザーページに見出し 3 add_action( 'bp_template_content', 'following_content' );//カスタムユーザーページに表示したい内容 4 bp_core_load_template( apply_filters( 'bp_core_template_plugin', 'members/single/plugins' ) );//テーマファイルの呼び出し(この記述で、メンバーページのファイル) 5} 6 7function following_title() { 8 echo 'フォロー'; 9} 10 11function following_content() { 12//この部分のコードについてアドバイス頂けると幸いです。 13}
※サブメニュー「Followers」の追加については、内容が重複するのでここでは省略しています。
###補足情報(言語/FW/ツール等のバージョンなど)
WordPress 4.7
BuddyPress 2.7.3
BuddyPress Follow 1.2.2
あなたの回答
tips
プレビュー