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

僕は、CocoonのフォーラムではwpForoというプラグインを利用しています。

Number one WordPress forum plugin. Full-fledged forum solution with modern and responsive forum design. Community builder WordPress forum plugin.

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

Cocoon ディスカッション掲示板

非常に多機能で便利なフォーラムプラグインだと思います。

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

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

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

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

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

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

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

//wpForoが存在するか
if ( !function_exists( 'is_wpforo_exist' ) ):
function is_wpforo_exist(){
  return class_exists('wpForo');
}
endif;

//wpforoのページかどうか
if ( !function_exists( 'is_wpforo_plugin_page' ) ):
function is_wpforo_plugin_page($url = ''){
  if (is_wpforo_exist()) {
    //functions-template.phpファイルから
    if (
         is_wpforo_page($url)
      ) {
      return true;
    }
  }
}
endif;

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

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

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

まとめ

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

  • フォーラム一覧ページ
  • フォーラムユーザーページ
  • 個別フォーラムページ
  • とにかくwpForoに関係するページ

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

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

スポンサーリンク

『wpForoが生成しているページかどうかを調べる関数【WordPressフォーラムプラグイン】』へのコメント

  1. 名前:市川 投稿日:2020/04/29(水) 03:03:24 ID:3126b08a4

    お世話になります。

    値ブログさんにはときおり、
    WPテーマ含めお世話になっております。

    教えて頂けたら嬉しいのですが、
    今、WPのフォーラムのプラグインwpForoでとても悩んでいます。

    それは、投稿の表示数を表示させたくないという部分です。

    これをやる方法を教えて頂けないでしょうか?

    wpForoの設定を穴が開くほど眺めたのですが、
    さすがにこんな使い方の設定は、
    どこにも見つかりません。

    こんな使い方はあまりないであろうから、
    phpでもいじるんだろうなと思っております。
    この辺りの事は、私にはよくわからない分野でして。

    このphpファイルの、
    ここを削除みたいなことくらいはできます。

    トピックの下に、
    投稿が一覧ででるページがあると思うのですが、
    そのページでトピックの下の返信の閲覧数の表示をさせたくないという件です。

    お忙しいところ恐れ入ります。

    どの様にしたら、
    ご教授いただけますでしょうか?

    どうぞよろしくお願い申し上げます。

  2. アバター画像 名前:わいひら 投稿日:2020/05/01(金) 01:01:23 ID:e761a47e1

    PHPでなくてもCSSでも、おそらく非表示にできるかと思います(HTMLは出力されているが保護者からは普通には見えない状態にはできる)。
    ただ、こういった方法は普通に「プラグインカスタマイズ案件」となるので、コメントでの対応は難しいです。
    どうしてもという場合であれば、クラウドワークスや、ランサーズ等でプロに有償で依頼するとサクッとやってもらえると思います。