web-dev-qa-db-ja.com

ログインユーザのみが閲覧可能なbbpress Pluginでフォーラムを作成する方法

ログインしているユーザーだけが閲覧できるbbpressプラグインを使ってフォーラムを設定しようとしています。私はそれらを非公開として作成しようとしましたが、サブフォーラムが私のroot/forumsページに表示されないことがわかりました。別のフォーラムでは、フォーラムを表示するかどうかを決定するためにis_user_logged_in()を使用することを提案しました。

Is_user_logged_in()をチェックして、ログインしていないユーザーからフォーラム関連のページや投稿をすべて隠すのに最適な場所は何ですか。もっと良い方法があるなら、私は他の提案もしていますが、私はあまり多くの文書を見つけていません。

1
bingles

私が行った解決策は、bbpress.phpという名前の私のテーマのフォルダにファイルを作成することでした。次に、私のテーマのpage.phpファイルの内容を新しいファイルにコピーし、ユーザーがログインしたときにのみその内容を表示するように修正しました。私の場合は次のようになりました。

if( is_user_logged_in() ) {
    get_template_part( 'loop', 'page' );
}
else{
    _e('You must be logged in to view this page.', 'twentyten-child');
}

どうやらbbpressのプラグインはそれが使用するテンプレートのための特定の順序で検索します( http://bbpress.org/forums/topic/where-do-i-choose-a-custom-を参照してください) bbpress-20プラグインのテンプレート )。 bbpress.phpという名前を付けることにしたのは、ファイルが何に接続されているかを自分のコードから見れば明らかになるからです。

4
bingles

私がこれまでにたどり着いた唯一の方法は Tracサイトのバージョン2.1 を使い、トップレベルのフォーラムがフォーラムではなくカテゴリになるように設定することです。 :

  • トップパブリック(カテゴリ)
    • サブパブリックフォーラム
    • サブパブリックフォーラム
  • トップメンバー(カテゴリ)
    • サブメンバーフォーラム
    • サブメンバーフォーラム

メンバーフォーラムとトップレベルのカテゴリを "hidden"に設定し、 メンバープラグイン を使用して、管理者権限以外のあらゆるレベルのユーザーに非表示フォーラムの表示を許可します。

私が試した他のバリエーションはあなたが示したのと同じ結果になりますが、 フォーラムの可視性 にバグがあるため、この修正は2.0ではうまくいきません。 2.1が正式にリリースされたら、さらにテストが必要ですが、これまでのところ私にとってはうまくいきます。

0
jtotheh