bbPressはWordPressで簡単に掲示板やフォーラムなどのコミュニティを作ることができるプラグインです。WordPressの公式フォーラムはbbPressで作られており、信頼性は高いですが、日本語の情報が少ないことが難点かも知れません。
また、プラグイン自体は簡単に導入できるのですが、カスタマイズしてオリジナルのコミュニティサイトを作ろうとなると、複雑なファイルの構造を理解するのが中々厄介です。
この記事はWordPressをすでに使い慣れている方向けに、bbPressのデザインをカスタマイズする方法を解説します。
対象読者: WordPressの自作テーマの作成方法をある程度理解している
すでに使用しているテーマの子テーマを作る、または全く新しいテーマを作成する、どちらでも構いません。
作り方は、通常のWordPressテーマの作り方に準じます。
プラグインをインストールすると、wp-content/plugins/bbpress というフォルダが現れます。ここに必要な素材が入っています。
wp-content/plugins/bbpress/templates/default/bbpress このフォルダをコピーして、2.で用意したテーマフォルダの配下に置きます。
もう一度、今度は wp-content/plugins/bbpress/templates/default/extras の配下にあるファイルを全てコピーして、テーマフォルダの直下にペーストします。
配置後のテーマフォルダはこんな感じになります。
これで下準備完了です!
次からはこのファイルを弄っていきます。
一番簡単にフォーラムを表示させるには、ファイルの好きな場所(例えばindex.phpなど)に以下のコードを書きます。
<?php echo do_shortcode('[bbp-forum-index]'); ?>
これだけでデフォルトのフォーラムが表示されました。でも、カスタマイズするにはどのファイルが何を意味してるのか理解しなくてはいけません。
フォーラム一覧画面はarchive-forum.phpです。中を開いてみると、
<?php bbp_get_template_part( 'content', 'archive-forum' ); ?>
という記述が見つかります。つまり、ここでcontent-archive-forum.phpというファイルを呼び出しています。こんな感じで、編集すべきファイルを見つけていきます。
フォーラム一覧画面は次のファイルで構成されています。
archive-forum.php //フォーラムのアーカイブ
contents-archive-forum.php //フォーラム一覧表示の中身
loop-forums.php //フォーラムのループ
loop-single-forum.php //ループされるフォーラム単体
画面上で見るとこのような構成です。分かりやすく赤字で書きました。
フォーラムの一つをクリックすると、そのフォーラム以下にあるトピック一覧が表示されます。最初に表示される親ファイルはsingle-forum.phpです。
single-forum.php //フォーラム単体のトップページ
content-single-forum.php //フォーラムの中身
loop-topics.php //トピックのループ
loop-single-topic.php //ループされるトピック単体
トピックの一つをクリックすると、トピックの詳細画面と返信一覧が出てきます。親ファイルはsingle-topic.phpです。
single-topic.php //トピック単体のトップページ
contents-single-topic.php //トピックの中身
loop-replies.php //トピックへの返信ループ
loop-single-reply.php //ループされる返信単体
投稿ユーザーのプロフィールページです。親ファイルはsingle-user.phpです。
single-user.php //プロフィールのトップページ
content-single-user.php //プロフィールの中身
user-details.php //プロフィール詳細左側
user-profile.php //プロフィール詳細右側に表示されるプロフィール
user-topics-created.php //プロフィール詳細右側に表示される、作成したトピック一覧
user-replies-created.php //同じく返信一覧
user-engagements.php //同じくエンゲージメント一覧
form-user-edit.php //同じくプロフィール編集画面
トピック作成フォームの親ファイルはform-topic.phpです。
form-topic.php //トピック作成フォーム
form-anonymous.php //トピック作成権限がある場合に表示される部分
form-user-login.php //ログインが必要な場合に表示される部分
トピックへの返信フォームの親はform-reply.phpです。他は、トピック作成フォームと同じです。
form-reply.php //トピック返信フォーム
form-anonymous.php //返信権限がある場合に表示される部分
form-user-login.php //ログインが必要な場合に表示される部分
誰でもフォーラムにユーザー登録できるようにするには、管理画面の一般設定で、誰でも登録可能な設定にしておきます。
フォーラムへのユーザー登録画面は、以下のショートコードで呼び出します。
<?php echo do_shortcode('[bbp-register]'); ?>
form-user-register.php //新規ユーザー登録ページ
まだまだファイルがあるのですが、長くなったので、今回は一旦ここまでにしておきます。
ここまでで、主に必要なファイルはおおよそ網羅したと思います。他のファイルも、ファイル名を見ればどんな動作をするのか大体想像がつくかと思います。
編集すべきファイルが分かれば、あとはhtml、cssを変えて、好きなデザインを作りましょう。
bbPressではたくさんの関数も用意されているので、それはまた別の機会に紹介します。