bbPressで特定のフォーラムのサブフォーラムを取得する関数

Web制作 |

このシリーズでは、bbPressを自作テーマでカスタマイズする方法を紹介しています。今回はサブフォーラムの取得方法についてです。

すでにbbPressテーマ編集の基礎を理解している方向けの内容となっているため、テーマ編集が初めての方はまず基礎編からご覧ください。

サブフォーラムを取得する関数

bbPressではフォーラムを入れ子にできるので便利ですよね。

こうして細かくカテゴリ分類できるので、大量のトピックが存在する大規模な掲示板サイトもスッキリ整理することができます。

カテゴリA
├サブカテゴリ1
│ └ トピック
│ └ トピック
│ └ トピック
├サブカテゴリ2
├サブカテゴリ3

では、カテゴリAのサブカテゴリ一覧を取得するにはどうすればいいのでしょうか?

答えはこの関数を使います。

bbp_forum_get_subforums( $親フォーラムID )

引数には親フォーラムのIDを指定します。

カテゴリAのサブフォーラムを取得したいときは、カテゴリAのIDになります。

フォーラムIDの見つけ方

現在のフォーラムIDを取得する関数は

bbp_get_forum_id()

です。

単にIDを知りたいだけの場合、他にも簡単な方法があります。

  1. 管理画面にログインし、サイドメニューでフォーラムをクリック
  2. IDを調べたいフォーラムをクリック
  3. このとき、URLは http://mysite.com/wp-admin/post.php?post=88&action=edit のような形式になっていると思います。この88の部分がフォーラムIDです。

bbp_forum_get_subforums()の使用例

<?php

            $forum_id = 親フォーラムID;
            $sub_forums = bbp_forum_get_subforums($forum_id); //サブフォーラムを取得

            foreach ($sub_forums as $sub_forum) { //ループ開始 ?>

  			<li> 
  				<a href="<?php bbp_forum_permalink($sub_forum->ID); ?>"> 
					<span>
						<?php bbp_forum_title($sub_forum->ID); ?>
						【<?php bbp_forum_topic_count($sub_forum->ID); ?>】
					</span>
				</a>
			</li>

<?php } //ループ終了 ?>

解説

bbp_forum_get_subforums()で取得したサブフォーラム一覧をループで表示させ、各サブフォーラムのタイトル、パーマリンク、各トピック件数を表示します。

bbp_forum_permalink( $フォーラムID ) //フォーラムのパーマリンクを取得

bbp_forum_title( $フォーラムID ) //フォーラムのタイトルを取得

bbp_forum_topic_count( $フォーラムID ) //フォーラム内のトピック件数を取得


執筆者

Yulius

ホームページ制作、多言語サイト制作のご依頼を承っています。お気軽にご相談ください。

お見積もりご依頼