Вывести записи отсортированные по пользовательскому полю
Есть категория, типа портфолио, несколько постов с разным значением пользовательского поля "дата сдачи объекта".
Хочу выводить эти записи группами в зависимости от значения этого поля, и при этом после каждой такой группы выводить разделитель, а перед каждой такой группой - дату из пользовательского поля. Не могу придумать как это реализовать. Пока сделала так:
global $post;
$args = array(
'category' => 24,
'posts_per_page' => -1,
'order'=> 'ASC',
'orderby' => 'meta_value_num',
'meta_key' => 'sort_clients',
); // meta_key - поле по которому сортирую вывод
$myposts = get_posts( $args );
//echo '----------------------------------------------------';
$mass_post = array();
foreach($myposts as $post){
setup_postdata($post);
$sort_clients = get_post_meta($post->ID, 'sort_clients',true);
$client_date = array( "nsc-sort_clients" => $sort_clients );
$new_post = (object) array_merge( (array)$post, $client_date );//дописываю в объект
//
$mass_post[]= objectToArray($new_post); //преобразовала объект в массив
}
Дальше думаю фильтровать через array_filter(), но сомневаюсь, может есть способ проще, на функциях wordpress? Правда, не знаю на каких...
Скажите, в правильном ли я направлении или это бред?