2017-01-31 4 views
0

Предположим, у меня есть 100 + paginated posts в wordpress.Wp_query partial random

Возможно ли для одного WP_Query в результате чего:

  • 10 сообщений будут выбраны случайным образом и помещены в первую очередь.
  • Остальные (90+) сортируются по умолчанию и размещаются после первых 10 случайных сообщений.

спасибо.

+0

Невозможно, чтобы запрос выводил его так. Я бы попытался использовать 'get_posts' для получения всех сообщений, которые вам нужны в таблице, а затем отобразить случайные 10, удалив их из массива (или просто изменив их положение). –

ответ

0

Не против моего комментария раньше. Вот как переставить один запрос wp

$the_query = new WP_Query(array(
    'numberposts' => -1, 
    'post_type'  => 'post', 
)); 

$a = $the_query->posts; 

$ta = array_rand($a, 10); 
for($i=0;$i<count($ta);$i++) { 
    $res = array_splice($a, $ta[$i], 1); 
    $ta[$i] = $res[0]; 
} 
$a = array_merge($ta, $a); 
$the_query->posts = $a;