wp_list_sort()


WordPress関数wp_list_sort()は、配列やオブジェクトリストを特定の基準に従ってソートするために使用されます。この関数は、配列のキーやオブジェクトのプロパティに基づいてリストを並べ替えます。

構文

wp_list_sort( array $list, string|array $orderby = '', string $order = 'ASC', bool $preserve_keys = false );

引数の説明:

  • $list (array) — ソート対象の配列やオブジェクトリスト。
  • $orderby (string|array) — 並べ替えの基準となるキーやプロパティ。文字列または配列で指定可能。
  • $order (string) — 並べ替え順序。「ASC」(昇順)または「DESC」(降順)を指定。
  • $preserve_keys (bool) — 元のキーを保持するかどうかを指定。デフォルトはfalse

例1: 配列を昇順で並べ替え

<?php
$list = array( array( 'id' => 3 ), array( 'id' => 1 ), array( 'id' => 2 ) );
$sorted_list = wp_list_sort( $list, 'id', 'ASC' );
?>

例2: 配列を降順で並べ替え

<?php
$list = array( array( 'name' => 'C' ), array( 'name' => 'A' ), array( 'name' => 'B' ) );
$sorted_list = wp_list_sort( $list, 'name', 'DESC' );
?>

例3: 配列キーを保持して並べ替え

<?php
$list = array( 'first' => array( 'value' => 20 ), 'second' => array( 'value' => 10 ) );
$sorted_list = wp_list_sort( $list, 'value', 'ASC', true );
?>

例4: 複数のキーで並べ替え

<?php
$list = array(
    array( 'name' => 'John', 'age' => 30 ),
    array( 'name' => 'Jane', 'age' => 25 ),
    array( 'name' => 'Doe', 'age' => 30 ),
);
$sorted_list = wp_list_sort( $list, array( 'age', 'name' ), 'ASC' );
?>

例5: オブジェクトリストを並べ替え

<?php
$list = array(
    (object) array( 'id' => 5 ),
    (object) array( 'id' => 3 ),
    (object) array( 'id' => 8 ),
);
$sorted_list = wp_list_sort( $list, 'id', 'ASC' );
?>

注意事項

  • 並べ替え対象が配列ではない場合、エラーが発生する可能性があります。
  • 複数のキーで並べ替える場合、キーの優先順位に注意してください。
  • $preserve_keystrueの場合でも、キーが文字列である場合は変更される可能性があります。

関連機能: