###前提・実現したいこと
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
あなたの回答
tips
プレビュー