サポート » 使い方全般 » wp_queryのパラメーターとして表示ページのカスタム分類を指定したい

  • 解決済 kingtoshfeuinc

    (@kingtoshfeuinc)


    カスタム分類のアーカイブページでなのですが、wp_queryのパラメーターに表示中のページのカスタム分類を指定したいのですがどうしたらいいのでしょうか?
    いろいろ探したのですがどうにも解決できずこまっております。
    よろしくお願いいたします。

7件の返信を表示中 - 1 - 7件目 (全7件中)
  • アーカイブページなら自動的にセットされてませんか?
    それとも何かカスタマイズ?

    見当違いな回答になりそうなので、もう少しお詳しく!

    トピック投稿者 kingtoshfeuinc

    (@kingtoshfeuinc)

    まだあまり慣れてないもので、漠然としてしまってすいません。
    ここに書いてから、
    http://wpdocs.sourceforge.jp/テンプレートタグ/query_posts
    ここのページを見ながら自分で弄っていたら何とかうまくいったようです。

    それは、

    $term = $wp_query->queried_object; ?>
    <h1><?php echo esc_attr($term->name); ?></h1> //表示ページのカスタム分類を取得して見出しとして表示

    <?php
    $hoge = ‘hogehoge=’ . $term->slug. ‘&posts_per_page=1&orderby=date&order=DESC&hogehogehoge=hoge’; ○○=$xxxとするとパラメーターとして認識されなかったので、クエリ文字を連結しました
    $q = new WP_Query($hoge); //ここのパラメーターの指定がうまくできなかったのです
    while ($q->have_posts()) : $q->the_post(); ?>
    <div>
    <?php the_post_thumbnail(); ?>
    </div>
    <div>
    <?php the_content(); ?>
    </div>
    <?php endwhile; ?>
    こんな風にしたらうまくいきました。

    もっときれいな書き方があればご教授ください。
    ありがとうございました。

    $wp_query->queried_object を使っているということは、taxonomy のアーカイブで間違いないと思うのですが、表示を変えたかった、ということですかね。

    そうだとしたら、$query_string に「hogehoge=タームネーム」が入っているので query_posts() でいいと思いますよ。

    query_posts($query_string . '&posts_per_page=1&orderby=date&order=DESC');
    while (have_posts()) : the_post();

    大差ないですね…。解決しているのに混乱させてしまったり、いやそうじゃなくて…、だったらスミマセン。

    トピック投稿者 kingtoshfeuinc

    (@kingtoshfeuinc)

    ありがとうございます。
    ただ、このページには
    query_posts($query_string . ‘&posts_per_page=1&orderby=date&order=DESC’);
    while (have_posts()) : the_post();
    これを使って表示したい記事が数件ありまして(それぞれフィルターする件数だったりカスタム分類、表示順などが違います)、それでもquery_posts() をつかっていいのでしょうか?

    そのページがどんな状況なのか分からないですし、解決されてうまくいっているようなので、現状で問題ないはずです。

    複数のループがあるのでしたら、原則 query_posts は一つにするのがいいと思います。

7件の返信を表示中 - 1 - 7件目 (全7件中)
  • トピック「wp_queryのパラメーターとして表示ページのカスタム分類を指定したい」には新たに返信することはできません。