| | |
| | | $args['orderby'] = 'meta_value_num'; |
| | | break; |
| | | default: |
| | | $args['orderby'] = 'date'; |
| | | if ($this->isTimeline($args, $data)) { |
| | | $args['meta_key'] = BASE . 'latest_date'; |
| | | $args['orderby'] = 'meta_value_num'; |
| | | }else { |
| | | $args['orderby'] = 'date'; |
| | | } |
| | | } |
| | | } |
| | | $order = (array_key_exists('order', $data)) ? strtoupper($data['order']) : 'DESC'; |
| | |
| | | return $args; |
| | | } |
| | | |
| | | protected function isTimeline($args, $data):bool |
| | | { |
| | | $post_types = is_array($args['post_type']) ? $args['post_type'] : [$args['post_type']]; |
| | | foreach ($post_types as $type) { |
| | | if (Features::forContent($type)->has('is_timeline')) { |
| | | return true; |
| | | } |
| | | } |
| | | return false; |
| | | } |
| | | |
| | | protected function applyDateFilters(array $args, array $data):array |
| | | { |
| | | if (!array_key_exists('date-filter', $data) && !array_key_exists('dateFrom', $data)) { |