Wordpress

PHPでオブジェクトをプロパティでソート

最近、WordPressのブログで著者のリストを表示する必要がありました。 目的は、リストを出力する前に投稿数で著者リストをソートすることでした。 投稿数を計算する方法は、WordPressのget_postsではソート可能なキーではないので、結果リストを自分でソートする必要がありました。 PHPのusortメソッドとカスタム関数を使えば、オブジェクトのコレクションをキーでソートするという偉業を達成することができます。

PHP

最初のステップは、ソートを行う関数を作成することで、これがその関数です。

function sort_objects_by_total($a, $b) {
	if($a->total_posts == $b->total_posts){ return 0 ; }
	return ($a->total_posts < $b->total_posts) ? -1 : 1;
}

この関数は、ソートの比較を行う際に、-1(より小さい)、0(と同じ)、1(より大きい)を返します。 最後に、ソート関数を配列に適用しますが、これは usort で行います。

usort($users, 'sort_objects_by_total');

上記のコードにより、著者の配列は total_posts でソートされるようになりました。 このスニペットは将来のためにPHPのツールボックスに入れておいてください -- いつかは必要になると思います。

Follow me!

-Wordpress

PAGE TOP