BuddyPressは、オープンソースのソーシャル・ネットワーク・サービス用ソフトウェアパッケージです。
bbPressやwpForoは、コラムプラグインとして有名ですが、BuddyPressは独自SNSサービスを作るのに便利なプラグインとなっています。
手軽に会員サイトを作るのに異常に重宝するプラグインかと思います。
ただ、テーマカスタマイズなどを行っていると、
BuddyPressが生成しているページ以外では処理を行いたくない
なんて場合も時々あります。
その時のために関数を作成したので、メモがてら紹介です。
目次
bbPressが生成しているページかどうかの確認関数
BuddyPressページかどうか確認するには、以下のPHPコードをテーマ(子テーマ)のfunctions.phpなどに貼り付けて利用します。
//BuddyPressが存在するか if ( !function_exists( 'is_buddypress_exist' ) ): function is_buddypress_exist(){ return class_exists('BuddyPress'); } endif; //buddypressのページかどうか if ( !function_exists( 'is_buddypress_page' ) ): function is_buddypress_page(){ if (is_buddypress_exist()) { //bp-core-template.phpファイルから if (!bp_is_blog_page()) { return true; } } } endif;
is_buddypress_exist関数は、BuddyPressプラグインがインストールされているかどうかを確認するための関数です。
is_buddypress_page関数は、BuddyPressプラグインが生成しているページかどうかを確認するための関数です。
is_buddypress_page関数内でis_buddypress_existの確認も行われているので、基本的にis_buddypress_pageを利用するだけで良いでしょう。
まとめ
BuddyPressには元から「WordPressブログページかどうか」を切り分けるbp_is_blog_pageがあるので、比較的簡単に関数を作成できます。
bp_is_blog_page関数が定義されている場所は、/src/bp-core/bp-core-template.phpあたりにあると思うので、確認してみると良いかもしれません。