我创建了一个名为“designation”的自定义usermeta字段,并在循环中获取了它的所有元值,但它显示了重复值和空值。我尝试使用array\\u unique()函数进行解析,但它不起作用。请指导我如何删除重复项和空白值。
$args = array(
\'role\' => \'subscriber\',
\'meta_key\' => \'user_designation\'
);
// The Query
$design = array_unique($args);
$user_query = new WP_User_Query($design);
// User Loop
if ( !empty($user_query->results) ) {
foreach ( $user_query->results as $user ) {
?>
<option><?php echo get_user_meta($user->ID, \'user_designation\', true); ?></option>
<?php
}
}
else {?>
<option value="0">No Category Found</option>
<?php } ?>
最合适的回答,由SO网友:CodeMascot 整理而成
您可以将用户元存储在变量中,并检查变量是否为空,如下所示-
$args = array(
\'role\' => \'subscriber\',
\'meta_key\' => \'user_designation\'
);
// The Query
$user_query = new WP_User_Query($args);
// User Loop
$u_meta_array = array();
if ( !empty($user_query->results) ) {
foreach ( $user_query->results as $user ) {
$u_meta = get_user_meta($user->ID, \'user_designation\', true);
if (!empty($u_meta)){
$u_meta_array[] = $u_meta;
}
}
$u_meta_array_unique = array_unique($u_meta_array);
foreach ($u_meta_array_unique as $u ) {
echo \'<option>\' . $u . \'</option>\';
}
} else { ?>
<option value="0">No Category Found</option>
<?php } ?>
希望这件事能成功。请让我知道它是否有效。