このシリーズでは、bbPressを自作テーマでカスタマイズする方法を紹介しています。今回はサブフォーラムの取得方法についてです。
すでにbbPressテーマ編集の基礎を理解している方向けの内容となっているため、テーマ編集が初めての方はまず基礎編からご覧ください。
bbPressではフォーラムを入れ子にできるので便利ですよね。
こうして細かくカテゴリ分類できるので、大量のトピックが存在する大規模な掲示板サイトもスッキリ整理することができます。
カテゴリA ├サブカテゴリ1 │ └ トピック │ └ トピック │ └ トピック ├サブカテゴリ2 ├サブカテゴリ3
では、カテゴリAのサブカテゴリ一覧を取得するにはどうすればいいのでしょうか?
答えはこの関数を使います。
bbp_forum_get_subforums( $親フォーラムID )
引数には親フォーラムのIDを指定します。
カテゴリAのサブフォーラムを取得したいときは、カテゴリAのIDになります。
現在のフォーラムIDを取得する関数は
bbp_get_forum_id()
です。
単にIDを知りたいだけの場合、他にも簡単な方法があります。
<?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 ) //フォーラム内のトピック件数を取得