Вывести записи отсортированные по пользовательскому полю
Есть категория, типа портфолио, несколько постов с разным значением пользовательского поля "дата сдачи объекта".
Хочу выводить эти записи группами в зависимости от значения этого поля, и при этом после каждой такой группы выводить разделитель, а перед каждой такой группой - дату из пользовательского поля. Не могу придумать как это реализовать. Пока сделала так:
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? Правда, не знаю на каких...
Скажите, в правильном ли я направлении или это бред?