BuddyPressページと通常のWordPressページを条件分岐するための関数

先日、BuddyPressに関するカスタマイズを行っているときに、「BuddyPress支配下のページ」と「通常のWordPressページ」を分岐する必要が出てきました。

なので、BuddyPressのPHPファイルの中に、bp_is_buddypress_page()的な関数を探したのですが、見つかりませんでした。

その他にも、いろいろな関数の組み合わせを試したのですが、うまくいかず数時間ハマりました。

ただ、よくネットを調べたら、手軽にbp_is_buddypress_page()関数を実現できる方法があったのでメモがてら紹介。

スポンサーリンク
レクタングル(大)広告

BuddyPressページかどうかを切り分ける関数

BuddyPressプラグインには、「BuddyPressページ」と「通常WordPressページ」を切り分ける関数がなかったので、作成してみました。

//BuddyPressページかどうか
if ( !function_exists( 'bp_is_blog_page' ) )://BuddyPressの関数が存在しているか確認
function bp_is_buddypress_page(){
  return !bp_is_blog_page();
}
endif;

BuddyPressには、「WordPressのブログページか」を切り分けるbp_is_blog_page()関数は用意されていました(この関数名でそういった機能があるとは思わなかった)。

なので「BuddyPressページかどうか」は、!bp_is_blog_page()のようにして条件を反転すれば良いだけのことでした。

分かってしまえば単純なんですが、これを見つけ出すまでに、結構ハマりました。

参考にしたページはこちら。

参考 Topic: How do I detect whether I’m on a BuddyPress page? · BuddyPress.org

まとめ

ずっと「BuddyPressページかどうか」を判別するコードばかりBuddyPressコアファイル内を探していました。

まさか、「WordPressページかどうか」の関数が用意されていようとは。

タネが分かれば簡単なんですが、プログラムをしていると、こういうハマりは結構あるので記録。