Frontend User Adminプラグインでuser metaの選択肢を動的に作る

Pocket

フロントエンドユーザー管理プラグインで、user metaに入れる値を動的に作る方法。
例えば、userと何か投稿タイプ(例:client投稿タイプ)とひも付けたいときに、user metaとしてclient_id を入れたい。
ユーザー管理→オプション→ユーザー属性の追加 から、属性(user meta)を追加し、右側の”+”をクリック。
PHPを入れる欄が出るので、そこに例えば

$temp = get_posts(array(
'post_type'=>'client',
'numberposts'=>-1,
'post_status' => array('publish'),
'orderby' => 'meta_value',
'meta_key' => 'client_id',
'order' => 'ASC'));
$temp2 = array();
$temp2[] = '"選択してください|"';
foreach($temp as $temp){
    $client_id = get_post_meta( $temp->ID, 'client_id', true );
    $temp2[] = '"【' . $client_id . '】'.$temp->post_title.'|'.$temp->ID.'"';
}
$str = "'".implode(' ', $temp2);
$options['user_attribute']['user_attribute'][$i]['default'] = $str;

とする。
次に、ユーザー管理→オプション→環境設定 から、その属性を表示させる。
 

この記事を書いた人