サポート » プラグイン » Post Types Orderを使用しつつ、WP_Query()のパラメーター優先で並び替えしたい

  • 解決済 xxxpudding

    (@xxxpudding)


    お世話になります。

    現在Post Types Orderを利用しているのですが、このプラグインを有効にしていると、テンプレートに記述したorderbyが効かずに困っております。

    基本的にはPost Types Orderで並び順を管理しているのですが、ページ内の一部で以下のようなソースで、ランダムに記事を3件取得したいと思っております。

    <?php //カスタム投稿"food"
        $myQuery = new WP_Query(); // WP_Queryオブジェクト生成
        $param = array( //パラメータ
            'posts_per_page' => '3', //(整数)- 1ページに表示する記事数。-1 ならすべての投稿を取得。
            'post_type' => 'food', //カスタム投稿タイプのみを指定。
            'post_status' => 'publish', //取得するステータスを指定:publish(公開済み)
            'orderby' => 'rand',
        );
        $myQuery->query($param);  // クエリにパラメータを渡す
    ?>
    <?php if($myQuery->have_posts()): while($myQuery->have_posts()) : $myQuery->the_post(); ?>
    〜〜〜(以降略)〜〜〜

    Post Types Orderを無効にすれば、ランダムに記事の取得が出来るのですが、記事の並び替えはよく使う機能なので、出来ればPost Types Orderを有効にしつつ、’orderby’が指定されている場合はそちらを優先、といった事が実現出来ればと思います。

    調べてみた所、
    「「Post Types Order」 自動的に menu_order にするかどうかのチェックボックスが合ったはず。」という記述を見つけたのですが、そのチェックボックスがどこにあるのかが見つけられませんでした。
    http://oshiete.goo.ne.jp/qa/7665015.html

    チェックボックスの場所をご存知の方、もしくはorderbyを優先する方法をご存知の方がいらっしゃいましたらご教授願います。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • 設定 -> Post Types Order にあります。

    1) Auto Sort のチェックを外して、必要なところで orderby => menu_order を設定する。

    もしくは、

    2) Auto Sort にチェックをしたまま、

    remove_filter('posts_orderby', 'CPTOrderPosts');
    $myQuery = new WP_Query(); // WP_Queryオブジェクト生成
    $param = array( //パラメータ
            'posts_per_page' => '3', //(整数)- 1ページに表示する記事数。-1 ならすべての投稿を取得。
            'post_type' => 'food', //カスタム投稿タイプのみを指定。
            'post_status' => 'publish', //取得するステータスを指定:publish(公開済み)
            'orderby' => 'rand',
    );
    $myQuery->query($param);
    add_filter('posts_orderby', 'CPTOrderPosts', 99, 2);

    とする(未確認です)。

    のいずれかです。

    ※ CPTOrderPosts は、プラグインで定義している関数です。

    トピック投稿者 xxxpudding

    (@xxxpudding)

    pluto1234様

    お返事頂きまして有難う御座います。

    2 の方法で試してみた所、希望通りの動作が実現出来ました!

    >設定 -> Post Types Order にあります。

    完全に見落としておりました;
    お教え頂きまして有難う御座います。

    無事解決致しましたので、この投稿は閉めさせて頂きます。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • トピック「Post Types Orderを使用しつつ、WP_Query()のパラメーター優先で並び替えしたい」には新たに返信することはできません。