こんにちは。
wordpressにて、投稿をカスタムフィールドでソートしてからランダムに表示したいと考えています。
下記のように実装しました。
PHP
1$args = array( 2'orderby' => 'meta_value_num rand', 3'meta_key' => 'place', 4'order' => 'ASC', 5'posts_per_page' => 10, 6'paged' => $paged 7); 8query_posts($args); 9
この方法だと、カスタムフィールドでソートされ、ランダムに表示されるのですが、
ページ送りでもランダムに表示されてしまうため、1ページ目で表示された情報が2ページ目二表示されてしまいます。
こちらのリンクを参考にしながら、add_filter関数を使ってやってみましたが、うまくできませんでした。
(参考)試したコード
PHP
1add_filter('posts_orderby_request', function() {return "RAND(10)";}); 2add_filter('posts_orderby_request', function() {return "wp_postmeta.place.meta_value_num ASC";}); 3query_posts($args); 4remove_filter('posts_orderby_request', function() {return "RAND(10)";}); 5remove_filter('posts_orderby_request', function() {return "wp_postmeta.place.meta_value_num ASC";});
カスタムフィールドでソートしてからランダムに表示し、ページ送りしても重複なく表示する方法をご存知の方がいましたら、ご教授願います。
よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー