Wordpressの記事をアクセス数の多い順に、アクセス数が同じなら古い順に表示したい

使用しているプラグイン:PostViewsCounter
実装したいこと:アクセス数の多い順に3つ記事を出力したいが
アクセス数が同じ記事が複数合った場合、投稿日の古い記事を優先して出力する
また、カスタムフィールドで「表示しない」を選択している記事については
アクセス数が多くても出力しない(これに関しては実装できています)

正常に表示できていた状態:

PHP

1$args = array(2 'posts_per_page' => 3,3 'post_type' => 'news', // 投稿タイプ4 'orderby' => 'post_views', // 数値としてソート5 'order' => 'DESC', // 閲覧数の降順にソート6 'meta_query' => array(7 array(8 'key' => 'cf_disp', // カスタムフィールド のキー9 'value' => '表示しない', // trueの場合に一致するように指定10 'compare' => '=', // 比較演算子11 )12 )13 );14 $query = new WP_Query($args); ?>

※ただしアクセス数が同じ場合、投稿日の新しい記事から出力される

試したこと:

PHP

1$args = array(2 'posts_per_page' => 3,3 'post_type' => 'news', // 投稿タイプ4 'orderby' => array(5 'post_date' => 'ASC',6 'post_views' => 'DESC',7 ),8  'meta_query' => array(9 array(10 'key' => 'cf_disp', // カスタムフィールド のキー11 'value' => '表示しない', // trueの場合に一致するように指定12 'compare' => '=', // 比較演算子13 )14 )15 );16 $query = new WP_Query($args); ?>

しかしこれだとアクセス数0の投稿日の古い記事が3つ出てくるだけでした。
post_dateとposi_viewsを入れ替えても同じ、またpost_dateをDESCにしても同じです。
考え方を変えたほうがいいのか、正しい書き方が他にあるのかご教授ください。

コメントを投稿

0 コメント