我正在尝试使用WordPress用户查询来创建由自定义元值排序的用户列表。首先要显示它的一个简单的数值,会从1到100,所以1种需要,100最后,等WordPress - 用户查询 - 按Meta Value排序
这是我的尝试,已经悲惨地失败了:
<?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中的自定义字段 - 所以我需要一个解决方案来解决这个问题。
任何想法?
非常感谢你对此 –
@ maiorano84非常感谢我花了几个小时试图解决这个问题,这只是一个窍门。我仍然努力的一部分是限制只有角色“订阅者”的用户? – tbwcf
@tbwcf - 在WP_User对象实例化后,最好处理该信息。要限制作者数组仅限订阅者,你可以这样做:'foreach($ order as $ aid){$ u = new WP_User($ aid [0]); if(in_array(“subscriber”,$ u-> roles))$ authors [] = $ u; }' – maiorano84