ブログの投稿が特定のカテゴリに属している場合は、ホームページから削除します。どうすれば(できればプラグインなしで)Buddypressでこれに取り組むことができますか?
ブログの投稿カテゴリでホームページのアクティビティストリームをフィルタリングするという意味であれば、BuddyPressのテンプレートタグ、機能、クエリのいずれかのバグを使用することは不可能です。私は何ヶ月もこの同じ問題に苦労し、ついにあきらめました。誰かが私を間違って証明することができれば私は解決策を聞くのが大好きだ。
ホームページでアクティビティストリームを使用していない場合は、投稿をフィルタリングするために WP_Query クラスを使用するだけです。
アクティビティストリームでブログ投稿をフィルタリングするための私のユースケースは、投稿カテゴリごとに別々のアクティビティストリームページを持つことでした。
私が見つけることができた最も近いものは BuddyPressリンクプラグイン で、カテゴリを使用してBuddyPressアクティビティストリームに統合されているリンク投稿タイプを作成しました私が望んでいた方法で動作するようにするための多くのカスタマイズ。
Boone Gorgesの(BuddyPress Lead Developer) BuddyPressでカスタム投稿タイプを使用することに関するサポート フォーラムのトピックへの返信:
カスタムペイタイプのためにBPに組み込まれたサポートは実際にはありませんが、それらをサポートすることは、BPで他の種類のカスタムコンテンツをサポートすることと同じです。カスタムコンテンツをBPナビゲーションなどに統合する方法については、BuddyPressスケルトンコンポーネントを参照してください。
次の数週間で、私は新しいプラグインを開発して、BPでカスタム投稿タイプをサポートするためのフレームワーク(フロントエンド編集、ナビゲーションメニューへの統合など)を提供するかもしれません。私はここ数カ月の間にカップルのクライアントのためにこのようなことをしなければなりませんでした、そして私は私がいくつかの良い戦略の感覚を持っていると思います。
また、カスタムのメタまたはカテゴリをBuddyPressのコンポーネントに追加し、そのメタを使用してアクティビティストリームをフィルタリングする方法について、WordCampでBooneと詳しく話しました。彼はそれができると言ったが、それは最初から完全にコード化されなければならないであろうそしてBuddyPressによって明白に支持されるものではない。彼はまた、これを達成するための最良の方法は新しいカスタムBuddyPressコンポーネントを作成することであろうと言いました。
あなたがあなたがもう少し良く達成しようとしていることを説明できますか。特定のユーザーの特定のカテゴリまたはすべてのユーザーの特定のカテゴリをフィルタしますか?
編集:これは私がこれで見つけたいくつかの項目です。
今私はこれでうまくいくかどうかを確認しようとしていないので、現在混乱しているbuddypressサイトを持っていません。
WordPressで投稿をループするために「The Loop」を使用するのと同じように、BuddyPressの各コンテンツタイプには独自のカスタムループがあります。
テンプレートでこれらのループを使用することで、あらゆる種類の情報を出力し、BuddyPressテーマ内でのコンテンツの表示方法を本当にカスタマイズすることができます。
デフォルトのBuddyPressテーマ(/ wp-content/themes/bp-default)は、BuddyPressで利用可能なすべてのカスタムループを利用します。実際の使用状況でループを使用する良い例です。
あなたがそれを利用する限り、あなたはBuddyPressテーマの中でWordPressカスタムループを使うことができます。
ここをクリックしてWordPressループのコーデックスページを見つけることができます そして ここをクリックして特に必要なものをクリックしてください
これがあなたが必要とするコードです:
次の行<?php if ( is_home() ) {
は、buddypressがこれがホームページでのみ起こる必要があると判断するのを助けます。
<?php if ( is_home() ) { query_posts($query_string . '&cat=-3,-8');} ?>
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
<div class="post">
<!-- Display the Title as a link to the Post's permalink. -->
<h2><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>"><?php the_title(); ?></a></h2>
<!-- Display the date (November 16th, 2009 format) and a link to other posts by this posts author. -->
<small><?php the_time('F jS, Y') ?> by <?php the_author_posts_link() ?></small>
<div class="entry">
<?php the_content(); ?>
</div>
<p class="postmetadata">Posted in <?php the_category(', '); ?></p>
</div> <!-- closes the first div box -->
<?php endwhile; else: ?>
<p>Sorry, no posts matched your criteria.</p>
<?php endif; ?>