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

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

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

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

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

Q&A

解決済

1回答

5253閲覧

bbpressのトピック一覧の表示について

ymkxx

総合スコア1

WordPress

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

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

0グッド

0クリップ

投稿2020/05/18 03:30

編集2020/05/18 09:23

前提・実現したいこと

現在Wordpressを使用してサイト構築をしています。
その中で非会員登録制の誰でも投稿できる掲示板(フォーラム)機能を付けようと思い「bbpress (2.6.4)」をインストールしたのですが、
下記2点が実現の仕方がわからないことがあり質問させていただきました。

①スレッド形式にしたいです。
作成したトピックに対して全ての書き込みを返信という扱いにしたいです。

②フォーラムページのトピック一覧ページのトピック内の投稿数の代わりに各トピックの閲覧者数を表示させたいです。

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

①のスレッド形式に関しては、設定のディスカッション及びフォーラム設定の【返信スレッドのルール】にチェックはついていますがスレッド形式になりません。
その際、疑問に感じたのが、②にも共通していますが、「投稿」と「返信」は何が違うのでしょうか。
作成したトピックに対して全ての書き込みを返信という扱いにしたいのですが可能でしょうか。

試したこと

①に関してはbbp style packをインストールし、バグの修正内にあった物を入れてみましたが、うまくいきませんでした。

WEB検索で「bbpress スレッド形式」「bbpress 返信 投稿 違い」「bbpress 閲覧者数 表示」「bbpress viewer count show」など思いつく限りのワードで海外のサイトを含め数日間調べたのですが、目的の回答にたどり着くことができませんでした。

わからないことが多く大変申し訳ございませんが、実現する方法がないか検索しています。
皆様のお知恵をお借りできればと思い質問させていただきました。

よろしくお願いいたします。

1、スレッドについて
2、トピックについて

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

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

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

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

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

tabuu

2020/05/18 07:56

>①スレッド形式にしたいです。 私の環境で試したところログイン中は問題ありませんが、ログインしていないとスレッドに なりませんでした。他のプラグインやテーマと相性が良くないのかもしれません。 >②フォーラムページのトピック一覧ページのトピック内の投稿数の代わりに >各トピックの閲覧者数を表示させたいです。 閲覧者数とはどのようなものか定義がありませんので、まずはそれを固めて、 条件に合った場合はpost_metaに記録すれば表示しやすいと思います。 ざっくりとで良ければPVを計測するプラグインもあったと思います。 >その際、疑問に感じたのが、②にも共通していますが、「投稿」と「返信」は >何が違うのでしょうか。作成したトピックに対して全ての書き込みを返信という >扱いにしたいのですが可能でしょうか。 トピックに対する書き込みは返信です。投稿とは何を指していますか?
ymkxx

2020/05/18 09:24

ご返信、ご教示いただきありがとうございました。 ①テーマはcocoonを使用しております。スレッド形式についてトピック内でも添付1のスクリーンショットのようにトピックに返信してもスレッドにならず、コメントに対して管理画面でのみ表示される返信ボタンを押して返信するとスレッド形式になります。 ②また閲覧数についてですが、トピックが閲覧された数を画像2のように表示させたいです。 人気のトピックがひと目でわかるようにしたいと思っています。 また投稿と返信についてですが、添付画像2のようにトピック内の投稿が4になっているスレッドもあることから、返信と投稿について疑問を感じました。。。 お忙しい中恐れ入りますが、ご教示いただけますと幸いです。 よろしくお願いいたします。
guest

回答1

0

ベストアンサー

スレッド形式についてトピック内でも添付1のスクリーンショットのようにトピックに
返信してもスレッドにならず、コメントに対して管理画面でのみ表示される返信ボタンを
押して返信するとスレッド形式になります。

標準の挙動と思われますが、無理くり変更することは可能ぽいです。
しかしながら、他への影響は確認していませんのでご注意ください。
wp-content\plugins\bbpress\includes\replies\functions.php
bbp_list_replie という関数内で $bbp->reply_query->posts という変数を paged_walk
という関数に渡しています。
paged_walk に渡す前に以下のように reply_to を設定します。

PHP

1$topic_id = 0; 2foreach ($bbp->reply_query->posts as $p) { 3 if ($p->post_type == 'topic') { 4 $topic_id = $p->ID; 5 break; 6 } 7} 8foreach ($bbp->reply_query->posts as $p) { 9 if ($p->post_type == 'reply' && $p->reply_to == 0) { 10 $p->reply_to = $topic_id ; 11 } 12}

無理くり対応するよりは、トピックの表示スタイルを変更してメリハリをつける方を
お薦めします。

②また閲覧数についてですが、トピックが閲覧された数を画像2のように表示させたいです。
人気のトピックがひと目でわかるようにしたいと思っています。

質問にも書いたように閲覧数を定義して、post_meta等に記録すれば扱いやすいと思います。
表示するテンプレートは以下のファイルです。
wp-content\plugins\bbpress\templates\default\bbpress\loop-single-topic.php

また投稿と返信についてですが、添付画像2のようにトピック内の投稿が4になっている
スレッドもあることから、返信と投稿について疑問を感じました。。。

おそらく翻訳に誤りがありそうですが、以下の定義です。
・返信:返信人数(ログインしていない人は除く)
・投稿:返信件数

投稿2020/05/19 01:22

tabuu

総合スコア2480

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

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

ymkxx

2020/05/20 13:09

お礼のご連絡が遅くなり大変申し訳ございません。 ご教示いただきましてありがとうございました。 ①につきまして、うまくいきました。 ありがとうございました。 また、②につきましてもありがとうございました。 私には難易度が高く、、、もっと勉強してからでないと難しそうです。。 引き続きチャレンジしてみます! また投稿と返信の定義につきましてもご教示いただきましてありがとうございました。 謎が解けてすっきりしました! お忙しい中、とてもご丁寧にご回答いただきまして本当にありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問