BuddyPressの拡張プロフィール機能で追加した項目を指定してプロフィールページに表示する

harada 1,128views 更新:2014年6月25日

拡張プロフィールで、「表示名」という名前の項目を追加した場合。

<?php $profile_text= xprofile_get_field_data('表示名' ,bp_get_member_user_id());
echo $profile_text; ?>

※日本語の項目名の場合はファイルの文字コードをUTF-8にしないと表示されませんのでご注意ください。

特定のユーザーの情報を表示したい場合はbp_get_member_user_id()の部分を表示したいユーザーのIDに指定することで表示されます。ユーザーIDが5の表示名を表示したい場合は下記のようになります。

<?php $profile_text= xprofile_get_field_data('表示名' ,'5');
echo $profile_text; ?>

コメント

  1. @superGTphoto のコメント (2016年7月5日)

    はじめまして。
    wordpressをはじめて、buddypressを使ってサイトを構築しようとしているものです。
    上記の件で少しお尋ねさせてください。

    xprofile_get_field_data(‘表示名’,///)
    の’表示名’が日本語の場合、文字コードをUTF-8にしないと表示されないとありますが、これはどこで設定するのですか?
    この表示だけUTF-8にするということなのでしょうか?
    ご教授のほどよろしくお願いします。
    データが表示されずに困っています。。

    • harada のコメント (2016年7月6日)

      はじめまして(*^_^*)
      こちらの記事自体がもう古くなってしまっているので、現在のバージョンで通用するかはちょっとわからないのですが……
      上記の方法でかきました日本語の場合に文字コードを変える必要があるのは、ファイル自体の文字コードとなります。
      お使いのエディタにより変更方法は違うとおもうのですが、テキストエンコーディングやエンコードなどで変更方法を検索していただければと思います。
      参考になりましたら幸いです。

      • @superGTphoto のコメント (2016年7月6日)

        なるほどそういうことでしたか。。
        terapadを使っていまして、shipf-jisで保存することになっているので、それをUTF-8に変更して保存したらいいということですね。

        ただ、これをしてftpでアップして確認したのですが、
        なぜかarrayになってしまうのです。。
        buddypressの拡張プロフィールのデータが取得できないのは何か別の事があるからなのでしょうか?

        • harada のコメント (2016年7月8日)

          そうですね!>shipf-jisで保存することになっているので、それをUTF-8に変更して保存したらいいということですね。

          arrayは配列になっているということなので、print_r($result);などを利用して中身を確認してみるといいかもしれません。
          必要な値が複数入っている場合はforeachを利用して取得するか、一つだけでいいのならば$result[0];などで先頭のみ取得するかが選べるかと思います。

          だいぶ前の記憶となりますので的外れのことを言っていたらすみません…!

          • @superGTphoto のコメント (2016年7月12日)

            返信ありがとうございます。
            なんとか取得できるようになりました。

            単純にbp_get_member_user_id()
            の部分を自分のプログラム内の上部で$idとして取得しているものをここに設定したら、動いたので、大丈夫でした。

            ありがとうございました。

ログイン / 新規登録してコメントする

このソースコードをストックして後で利用したり、作業に利用したソースコードをまとめることができます。

こちらもお役に立つかもしれません