bbPressをカスタマイズしてオリジナルデザインの掲示板サイトを作ろう

Web制作 |

bbPressはWordPressで簡単に掲示板やフォーラムなどのコミュニティを作ることができるプラグインです。WordPressの公式フォーラムはbbPressで作られており、信頼性は高いですが、日本語の情報が少ないことが難点かも知れません。

また、プラグイン自体は簡単に導入できるのですが、カスタマイズしてオリジナルのコミュニティサイトを作ろうとなると、複雑なファイルの構造を理解するのが中々厄介です。

この記事はWordPressをすでに使い慣れている方向けに、bbPressのデザインをカスタマイズする方法を解説します。

対象読者: WordPressの自作テーマの作成方法をある程度理解している

bbPressの良いところ

  • 完全無料
  • 必要なページが揃っており、インストール直後から即使い始めることができる
  • 拡張性が高い。追加のプラグインが多数存在し、機能拡張できる
  • WordPressや他のプラグインとの互換性が高い

カスタマイズの下準備

1. まずは通常の手順でbbPressプラグインをインストール

2. 次に、bbPressのデザインを作るためのテーマを用意

すでに使用しているテーマの子テーマを作る、または全く新しいテーマを作成する、どちらでも構いません。

作り方は、通常のWordPressテーマの作り方に準じます。

3. 用意したテーマフォルダの中に、bbPressのテンプレートファイルをコピー

プラグインをインストールすると、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ではたくさんの関数も用意されているので、それはまた別の機会に紹介します。


執筆者

Yulius

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

お見積もりご依頼