如何在WordPress中获取用户元价值

时间:2016-10-25 作者:Yajuvendra

我创建了一个名为“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 } ?>

1 个回复
最合适的回答,由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 } ?>
希望这件事能成功。请让我知道它是否有效。

相关推荐

set a user-meta key as avatar

我有一个名为“meta kay”的用户;阿凡达;;此值包含用户上载的图像的URL。如何将此元值设置为用户化身?我使用此代码,但不工作add_filter( \'get_avatar\', \'slug_get_avatar\', 10, 5 ); function slug_get_avatar( $avatar, $id_or_email, $size, $default, $alt ) { //If is email, try and find user ID