Как рандомизировать несколько «orderby» самостоятельно?

Я создаю веб-сайт с листингом, и я борюсь с запросом, который мне нужно использовать для создания этого: покажите список избранных и не включенный. Я также хочу, чтобы список из списка был случайным каждые 3 часа и то же самое для не признанных (дайте возможность каждому листингу быть на первой странице, но сначала сохраните признак).

Пока у меня это:

<?php return array( "post_type" => "job_listing", "post_status" => "publish", 'meta_key' => '_featured', "orderby" => array( 'meta_value_num' => 'DESC', 'title' => 'ASC' ), "posts_per_page" => 50, ); 

И я думаю, что для случайного выбора каждые 3 часа мне нужно что-то подобное

 function preserve_random_order( $orderby ) { $seed = floor( time() / 10800 ); // randomize every 3 hours $orderby = str_replace( 'RAND()', "RAND({$seed})", $orderby ); return $orderby; } add_filter( 'posts_orderby', 'preserve_random_order' );