お世話になります。
記事をアクセス順に並び替えるため、WP_Queryで並び替えようとしているのですが思うように取得できず悩んでおります。
記事のアクセス数はviewsというカスタムフィールドkeyに保存されています。
そこで最初は、下記の配列をWP_Queryに渡したのですが、これですとカスタムフィールドにviewsが保存
されていない記事は除外されてしまいます。希望としてはカスタムフィールドにviewsが保存されていない記事は並び替えの最後に並ぶようにしたいです。(※viewsが保存されていない記事は一度もアクセスがない記事です)
PHP
1$args = array( 2 'meta_key' => 'views', 3 'orderby' => 'meta_value', 4 'order' => 'DESC', 5 'cat' => 'カテゴリーIDを指定' 6);
そこで渡す配列を修正し以下のようにしたところ、viewsが保存されていない記事も取得することはできたのですが今度はviewsの数による並び替えができておらず手詰まりの状態です。
PHP
1$args = array( 2 'orderby' => 'meta_value_num', 3 'order' => 'DESC', 4 'cat' => 'カテゴリIDを指定', 5 'meta_query' => array( 6 'relation' => 'OR', 7 array( 8 'key' => 'views', 9 'type' => 'NUMERIC', 10 ), 11 12 array( 13 'key' => 'views', 14 'compare' => 'NOT EXISTS', 15 ) 16 ) 17);
どなたかよい方法をご存知ないでしょうか。
よろしくお願いします。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/03/19 04:48
退会済みユーザー
2017/03/19 05:06