サポート » 使い方全般 » ユーザーをグループ分けし、グループ毎の投稿を絞り込みたい

  • ユーザーをグループ分けし、グループに属するユーザーが投稿した記事の一覧を出力したいと考えております。

    WP User Groupsというプラグインを使ってユーザーのグループ分けはできました。

    WP User Groupsでグループを作ると、「user-group」というタクソノミーが登録されているようなので、下記のようにすれば「group2」に所属するユーザーが投稿した記事が絞り込まれて表示されると思ったのですが、うまくいきません。

    <?php
      $paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
      $args = array(
        'paged' => $paged,
        'posts_per_page' => 3,
        'post_type' => 'post',
        'tax_query' => array(
          array(
            'taxonomy' => 'user-group',
            'field' => 'slug',
            'terms' => 'group2',
          ),
        ),
      );
      $wp_query = new WP_Query($args);
    ?>
    <?php if(have_posts()): while(have_posts()): the_post(); ?>
      <p><?php the_title(); ?></p>
    <?php endwhile; endif; wp_reset_postdata(); ?>

    termsにgroup1を指定した場合は、group1に所属するユーザーの投稿だけが表示されるようになったのですが、group2など他のグループを指定すると投稿は何も表示されません。

    WP User Groupsでグループ分けしたユーザーの投稿を絞り込むのは不可能なのでしょうか?

    なんとか、ユーザーをグループ分けして、グループ毎に投稿を絞り込みたいです。
    特にWP User Groupsにこだわっているわけではないため、別の手段でも構わないです。

    ご教示いただけると幸いでございます。
    どうぞよろしくお願い申し上げます。

6件の返信を表示中 - 1 - 6件目 (全6件中)
  • Honda

    (@rocketmartue)

    $wp_query = new WP_Query($args);(WP Query)を使用する場合は、
    通常のループの書き方
    if(have_posts()): while(have_posts()): the_post();
    ではなくて
    if ( $wp_query->have_posts() ) : while ( $wp_query->have_posts() ) : $wp_query->the_post();
    にする必要があります。
    https://wpdocs.osdn.jp/%E9%96%A2%E6%95%B0%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9/WP_Query#.E4.BD.BF.E3.81.84.E6.96.B9

    トピック投稿者 quiqui

    (@quiqui)

    Toshiyuki Honda様
    ご回答ありがとうございます。

    if(have_posts()): while(have_posts()): the_post();

    if ( $wp_query->have_posts() ) : while ( $wp_query->have_posts() ) : $wp_query->the_post();
    に変更しましたが、
    状況は変わりませんでした。

    やはり、「’terms’ => ‘group1’」では記事が表示できますが、
    「’terms’ => ‘group2’」にすると記事が出てきませんでした。
    (group2に属するユーザーの投稿は存在しています)

    ユーザーのグループ毎に記事を絞り込むのは難しいのでしょうか(><)
    よろしくお願いいたします。

    @quiqui

    タクソノミーになっているということは、
    テーマをデフォルトテーマなどにしたときに、

    /user-group/group1
    /user-group/group2

    等で記事が表示されるのかなとは思うのですが、その辺りはどうでしょう?

    トピック投稿者 quiqui

    (@quiqui)

    Toro_Unit (Hiroshi Urabe)様

    ご返信ありがとうございます。

    ご指摘のURLにアクセスしてみましたが、
    どちらも404エラーとなってしまいました。

    なお、データベースでwp_term_taxonomyテーブルを見ると、
    「user-group」というtaxonomyが追加されています。

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

    ?user-group=group1

    とかだとどうでしょう?

    トピック投稿者 quiqui

    (@quiqui)

    Toro_Unit (Hiroshi Urabe)様
    ご返信ありがとうございます。

    「?user-group=group1」や「?user-group=group2」で試してみたところ、
    どちらもそのままトップページが表示されました。

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

6件の返信を表示中 - 1 - 6件目 (全6件中)
  • トピック「ユーザーをグループ分けし、グループ毎の投稿を絞り込みたい」には新たに返信することはできません。