質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

Q&A

0回答

683閲覧

WP:bbpressでフォーラムごとにデザインを切り替えたい

taaa

総合スコア32

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

0グッド

1クリップ

投稿2018/01/17 03:58

###前提・実現したいこと
bbpressにてフォーラムを2つ作り(「種類」属性はカテゴリー)、それぞれのフォーラムとそこに属する子要素(フォーラムおよびトピックス)を全く異なるデザイン・レイアウト・機能で表示したいと思っています
が、bbpressはフォーラムごとにデザインと機能を大きく切り替えられる仕様ではないようでハマっています

自分が考えた実現方法は2つあり、以下の通りです

1)bbpressのテンプレートを2種類用意して(既存のデフォルトテンプレートが一つあるので新規作成は1つ)、表示中のフォーラムごとに利用するテンプレートを切り替える
2)テンプレートは既存の一つのまま、フォーラムごとに読み込むテンプレートファイルを変更する

###発生している問題・エラーメッセージ

が、以下の理由により実現できていません
方法1)の場合、利用するテンプレートテーマの動的な切り替えの方法がわからない
方法2)の場合、bbpressが各画面(フォーラムトップ、フォーラム一覧、属するトピック一覧など)を出力する際の.phpファイルの実行順序がわからない

###試したこと
とりあえず、どちらの方法を取るにしてもパターン分けのためにフォーラム二つのカテゴリスラッグを取得することは必要と思い
利用中のWPテーマディレクトリの中に bbpress.phpを作成し、その中で以下を実行しています

PHP

1bbpress.php内 2------------------ 3<?php 4$parent_id = $post->post_parent; // 親ページのIDを取得 5$parent_slug = get_post($parent_id)->post_name; // forumA or forumB 6 7if($parent_slug=='forum-a'){ 8 get_template_part('template','bbp-fa'); 9}else 10if($parent_slug=='forum-b'){ 11 get_template_part('template','bbp-fb'); 12} 13?>

また、上記の処理で読み込まれる template-bbp-fa.php, template-bbp-fb.phpでは、以下となっています

PHP

1<?php 2get_header(); 3if(have_posts()): while(have_posts()): the_post(); 4the_content(); 5endwhile; endif; 6get_footer(); 7?>

方法1)に対して、テーマを動的に切り替える方法・そのフック?の仕掛け場所と書き方、
方法2)に対して、 the_content();によってbbpressのファイルの実行される順序の資料

どちらか、ご意見や情報をいただけると幸いです
よろしくお願いします

###補足情報(言語/FW/ツール等のバージョンなど)
wordpress4.9
bbpress2.5.14

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問