サポート » プラグイン » カスタムフィールドテンプレートで特定のユーザー情報を表示したい

  • カスタムフィールドテンプレートを使ってログイン名を入力したら、そこで複数指定したユーザー情報を、それぞれ表示できないかと苦戦しています。
    PHP初心者ですが、何かヒントを頂ければうれしいです。
    利用としてはイベントの参加者の情報リストを載せたいと考えています。

    カスタムフィールドテンプレートの設定

    [sankasya]
    type = fieldset_open
    legend = 参加者登録
    multiple = true
    multipleButton = true
    
    [sankasyaname]
    type = text
    size = 50
    label = ログインネーム
    
    [sankasya]
    type = fieldset_close
    blank = true

    テンプレート

    global $wpdb;
    $query = "SELECT meta_id,post_id,meta_key,meta_value FROM $wpdb->postmeta WHERE post_id = $post->ID ORDER BY meta_id ASC";
    $cf = $wpdb->get_results($query, ARRAY_A);
    $sankasyaname = array();
    foreach( $cf as $row ){
    if( $row['meta_key'] == "sankasyaname" ){$sankasyaname[] = $row['meta_value'];}
    }
    
    $length = count( $sankasyaname );
    for( $i = 0; $i < $length; $i ++ ){
    
    $sankasya_data = get_user_by( 'login', '$sankasyaname' );
    $sankasya_id = $sankasya_data->ID;
    $sankasya_prof =  get_the_author_meta( 'description',$sankasya_id );
    
    echo '<h2>'.$sankasya_prof[$i].'</h2>';
    }
1件の返信を表示中 - 1 - 1件目 (全1件中)
  • トピック投稿者 oyoneoyone

    (@oyoneoyone)

    ユーザーIDの指定では何とか表示できました。
    IDでいこうってことで自己解決?しましたがログイン名で表示する方法はないでしょうか?

    カスタムフィールドテンプレートの設定

    [sankasya]
    type = fieldset_open
    legend = 関係者登録
    multiple = true
    multipleButton = true
    
    [sankasyaname]
    type = text
    size = 4
    label = ユーザーID
    blank = true
    
    [sankasya]
    type = fieldset_close
    blank = true

    テンプレート

    global $wpdb;
    $query = "SELECT meta_id,post_id,meta_key,meta_value FROM $wpdb->postmeta WHERE post_id = $post->ID ORDER BY meta_id ASC";
    $cf = $wpdb->get_results($query, ARRAY_A);
    $sankasyaname = array();
    foreach( $cf as $row ){
    if( $row['meta_key'] == "sankasyaname" ){$sankasyaname[] = $row['meta_value'];}
    }
    
    $length = count( $sankasyaname );
    for( $i = 0; $i < $length; $i ++ ){
    $nickname = get_the_author_meta('nickname',$sankasyaname[$i] );
    $sankasya_prof =  get_the_author_meta( 'description',$sankasyaname[$i] );
    echo $nickname;
    echo $sankasya_prof;
    }

1件の返信を表示中 - 1 - 1件目 (全1件中)
  • トピック「カスタムフィールドテンプレートで特定のユーザー情報を表示したい」には新たに返信することはできません。