개별 get_posts()
로 가져온 posts의 배열을 병합하게되면 순서가 변경되지 않으므로 직접 정렬해야합니다.
PHP >= 7
php의 usort를 사용하고 익명함수에서 “spaceship operator” <=> 를 사용하여 비교후 원하는 값을 도출해낼수 있습니다.
usort($my_posts, function($post_a, $post_b) {
// 게시물의 post_date를 비교하고 $post_b가 최신이면 먼저 표시됩니다.
return $post_b->post_date <=> $post_a->post_date;
});
Code language: PHP (php)
일반적으로 return $a-value <=> $b->value;
결과를 오름차순으로 반환하는 데 사용하지만
필자는 날짜를 기순으로 최신 항목으로 정렬되기를 원하므로 비교를 반대로 했습니다.return $b->value <=> $a->value;
이렇게 재정렬된 get_posts
객체의 배열을 얻을 수 있다.
PHP 5 😂
usort($my_posts, function ($a, $b) {
if ($a->post_date < $b->post_date) return -1;
elseif ($a->post_date > $b->post_date) return 1;
else return 0;
});
Code language: PHP (php)