著者のリストを姓で表示しようとしています。リストを表示させることはできますが、まだ姓でリストを並べることができないようです。任意の助けは大歓迎です。ジョシュ
<?php
$args = array(
// search only for Authors role
// order results by display_name
'orderby' => 'meta_value',
'meta_key ' => 'last_name',
'role' => 'guest-teacher'
// check for two meta_values
);
// Create the WP_User_Query object
$wp_user_query = new WP_User_Query($args);
// Get the results
$authors = $wp_user_query->get_results();
// Check for results
if (!empty($authors))
{
echo '<ul class="permanent">';
// loop trough each author
foreach ($authors as $author)
{
// get all the user's data
$author_info = get_userdata($author->ID);
$url = get_author_posts_url($author->ID);
?>
<h3><a href="<?php echo $url; ?>"><?php echo $author_info->last_name; ?> </a></h3>
<?php
}
echo '</ul>';
} else {
}
?>
どうやらこの bug についてオープンチケットがあります。
これが私がテストした回避策です。
$args = array(
'meta_key' => 'last_name',
'role' => 'guest-teacher'
);
$wp_user_query = new WP_User_Query($args);
$wp_user_query->query_orderby = str_replace( 'user_login', 'wp_usermeta.meta_value', $wp_user_query->query_orderby );
$wp_user_query->query();
$authors = $wp_user_query->get_results();
これの問題点は、クエリを2回実行することです。
私のインストールでは以下のように動作します。
$args = array(
'orderby' => 'meta_value',
'order' => 'DESC',
'meta_key' => 'last_name',
'role' => 'subscriber'
);
だから試してみました:
$args = array(
'orderby' => 'meta_value',
'order' => 'DESC',
'meta_key' => 'last_name',
'role' => 'guest-teacher'
);
order
パラメータをDESC
またはASC
に変更して効果があるかどうかを確認しますか。
ps:そして、あなたは 姓 /これらのユーザーのために記入されていますか?