サポート » 使い方全般 » query_postsをget_postsに変換するやり方について

  • query_postsは使用は控えた方がいいという記事をよくみます。
    自分が持っている書籍のコードは全てquery_postsで書かれているので、get_postsに直したいですが、直し方がわかりません。
    例えば以下のコードはget_postsで書くとどうなりますか?
    もしくはget_posts以外でも書き方がある場合はご教授ください。

    <?php
    query_posts(array(‘post_type’ => ‘post’, ‘paged’ => get_query_var(‘paged’)));
    (中略:ループ記事)
    wp_reset_query();
    ?>

    または
    <?php
    $page = get_query_var(‘paged’); ?>
    query_posts(‘category_name = products_a&posts_per_page = 15&paged=’.$paged);
    (中略:ループ記事)
    wp_reset_query();
    ?>

3件の返信を表示中 - 1 - 3件目 (全3件中)
  • どこに何を表示しているか、あるいは、前後とループの中はどうなっているか、具体的なコードがないとフォローが難しいです。たぶん、get_posts では代替できないのではないか、くらいはわかりますが…

    モデレーター gatespace

    (@gatespace)

    補足。
    基本的な考え方ですが。

    メインループを書き換える場合(例として特定のアーカイブのみ表示件数を変える)は get_posts は向いていません。
    pre_get_posts 使ったほうがいいです。

    http://notnil-creative.com/blog/archives/1996

    メインループとは別のサブループ(例:投稿や固定ページのどこかに特定の条件で抽出した記事をN件入れたい)時は、get_posts が向いています。

    モデレーター Takuro Hishikawa

    (@hissy)

    また自分のブログ記事が貼られていたので来てみました。上記URLに「query_postsからpre_get_postsへの移行方法」を書いてますのでご参考まで!

3件の返信を表示中 - 1 - 3件目 (全3件中)
  • トピック「query_postsをget_postsに変換するやり方について」には新たに返信することはできません。