WordPress ユーザー クエリを使用して、カスタム メタ値で並べ替えられたユーザーのリストを作成しようとしています。1 から 100 までの単純な数値なので、最初に 1 を表示し、最後に 100 を表示する必要があります。
これは私の試みで、惨めに失敗しました:
<?php
$args = array(
'role' => 'Author',
'meta_key' => 'order-number',
'orderby' => 'order-number',
'order' => 'asc',
);
$wp_user_query = new WP_User_Query($args);
$authors = $wp_user_query->get_results();
if (!empty($authors))
{
echo '<div style="float:left;">';
foreach ($authors as $author)
{
$author_info = get_userdata($author->ID);
echo '<div class="post team-member"><div class="image">';
echo get_avatar( $author_info->ID, 91 );
echo '</div>';
echo '<div class="content"><div class="title"><a href="/author/' . $author_info->user_login . '">' . $author_info->user_firstname . ' ' . $author_info->user_lastname . '</a></div>';
echo '' . substr( get_the_author_meta('user_description',$author_info->ID) , 0 , 100 ) . '...';
echo '</div></div>';
}
echo '</div>';
} else {
echo 'No authors found';
}
?>
問題は、wp_user_query が orderby のカスタム フィールドをサポートしていないことだと思います。そのため、これを回避するソリューションが必要です。
何か案は?