bbPressが生成しているページかどうかを調べる関数【WordPressフォーラムプラグイン】

mockDrop_MacBook Air without Apple earbuds

僕は、当サイトのフォーラムや、SimplicityフォーラムではbbPressというプラグインを利用しています。

bbPress は WordPress 用のフォーラムソフトウェアです。

実際に運営しているのがこちらのフォーラム。

bbPress フォーラム
Simplicityに関する質問、カスタマイズに関する質問、不具合報告、要望など、Simplicityユーザーのためのフォーラムです。当フォーラムをご利用になる前に必ず以下の内容をご確認ください。

シンプルな構造になっているのではじめての方でも使いやすいフォーラムプラグインだと思います。

ただ、テーマカスタマイズなどを行っていると、

bbPressが生成しているページでは処理を行いたくない

なんて場合も時々あります。

その時のために関数を作成したので、メモがてら紹介です。

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

bbPressが生成しているページかどうかの確認関数

bbPressページかどうか確認するには、以下のPHPコードをテーマ(子テーマ)のfunctions.phpなどに貼り付けて利用します。

//bbPressがインストールされているか
if ( !function_exists( 'is_bbpress_exist' ) ):
function is_bbpress_exist(){
  return class_exists( 'bbPress' );
}
endif;

//bbPressのページかどうか
if ( !function_exists( 'is_bbpress_page' ) ):
function is_bbpress_page(){
  if (is_bbpress_exist()) {
    if (bbp_is_topic() ||
        bbp_is_forum() ||
        bbp_is_forum_archive() ||
        bbp_is_single_forum() ||
        bbp_is_forum_edit() ||
        bbp_is_single_topic() ||
        bbp_is_topic_archive() ||
        bbp_is_topic_edit() ||
        bbp_is_topic_tag() ||
        bbp_is_topic_tag_edit() ||
        bbp_is_reply()||
        bbp_is_reply_edit() ||
        bbp_is_single_reply() ||
        bbp_is_favorites() ||
        bbp_is_subscriptions()) {
      return true;
    }
  }
}
endif;

is_bbpress_exist関数は、bbPressプラグインがインストールされているかどうかを確認するための関数です。

is_bbpress_page関数は、bbPressプラグインが生成しているページかどうかを確認するための関数です。

is_bbpress_page関数内でis_bbpress_existの確認も行われているので、基本的にis_bbpress_pageを利用するだけで良いでしょう。

まとめ

今回作成したis_bbpress_page関数を利用することで以下のページかどうかを確認することができます。

  • フォーラムページかどうか
  • トピックページかどうか
  • bbPressのアーカイブページかどうか
  • bbPressの編集ページかどうか

これらのページで「何らかの処理を実行したい(したくない)」なんて場合は、今回作成した関数で条件分岐できるかと思います。

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

スポンサーリンク