使用しているプラグイン: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にしても同じです。
考え方を変えたほうがいいのか、正しい書き方が他にあるのかご教授ください。

バッドをするには、ログインかつ
こちらの条件を満たす必要があります。