概要
wp_list_sort 関数は、オブジェクトが格納された配列をソートするための便利な関数です。この関数は、特に次のような機能を実装する際によく使われます。
- 投稿のリストを特定のフィールドでソートする
- カスタム投稿タイプをソートして表示する
- タクソノミーの用語を異なる基準でソートする
- 設定オプションを特定の基準で並べ替える
- ユーザー情報を基準にソートする
- メタデータによるコンテンツを並べ替え
- 特定の条件に基づくウィジェットリストのソート
- カスタムフィールドの値に基づくアイテムの整理
構文
wp_list_sort( $array, $key, $order );
パラメータ
$array(配列) – ソート対象の配列。通常はオブジェクトの配列です。$key(文字列) – ソートの基準となるキー。$order(文字列) – ソートの順序。ASC(昇順)またはDESC(降順)を指定できます。
戻り値
- ソートされた配列を返します。
関連する関数
ワードプレスのバージョン
wp_list_sort関数は、WordPress 2.8 以降で使用可能です。
コアファイルのパス
wp-includes/general-template.php
サンプルコード
サンプルコード 1: 投稿をタイトルでソート
このサンプルコードでは、投稿オブジェクトの配列をタイトルで昇順にソートします。
$posts = get_posts();
$sorted_posts = wp_list_sort( $posts, 'post_title', 'ASC' );
引用元: https://developer.wordpress.org/reference/functions/get_posts/
サンプルコード 2: ユーザーを登録日でソート
このサンプルコードは、ユーザーオブジェクトの配列を登録日で昇順に並べ替えます。
$users = get_users();
$sorted_users = wp_list_sort( $users, 'user_registered', 'ASC' );
引用元: https://developer.wordpress.org/reference/functions/get_users/
サンプルコード 3: カスタムタクソノミーの用語をソート
このサンプルでは、カスタムタクソノミーの用語をスラッグで並べ替えています。
$terms = get_terms( array( 'taxonomy' => 'custom_taxonomy' ) );
$sorted_terms = wp_list_sort( $terms, 'slug', 'ASC' );
引用元: https://developer.wordpress.org/reference/functions/get_terms/
サンプルコード 4: カスタムフィールドによるアイテムのソート
このコードは、特定のカスタムフィールドの値に基づいてオブジェクトをソートします。
$items = get_posts();
$sorted_items = wp_list_sort( $items, 'meta_value', 'DESC' );
引用元: https://developer.wordpress.org/reference/functions/get_posts/
サンプルコード 5: 投稿のカテゴリでソート
このサンプルでは、投稿をカテゴリの名前で昇順にソートします。
$categories = get_categories();
$posts_by_category = wp_list_sort( $categories, 'name', 'ASC' );
引用元: https://developer.wordpress.org/reference/functions/get_categories/
この関数のアクションでの使用可能性
| アクション名 | 使用例 |
|---|---|
| mu_plugin_loaded | |
| registered_post_type | 〇 |
| plugins_loaded | |
| wp_roles_init | |
| setup_theme | |
| after_setup_theme | |
| set_current_user | |
| init | |
| register_sidebar | |
| wp_loaded | |
| send_headers | |
| parse_query | |
| pre_get_posts | 〇 |
| wp | |
| template_redirect | |
| get_header | |
| wp_head |
非推奨または削除されたバージョン
特定のバージョンで非推奨又は削除された情報はありません。