概要
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 |
非推奨または削除されたバージョン
特定のバージョンで非推奨又は削除された情報はありません。