• 解決済 backcool

    (@backcool)


    色々調べたのですが、どうしても先に進めない為
    ぜひアドバイスを頂けたらと思い投稿させて頂きました。

    BuddyPressでユーザーのプロフィール欄の追加を行いました。
    それでmember一覧ページで追加したプロフィールを
    表示させたいと思いmembers-loop.phpに下記のコードを
    書きました。

    <?php $profile_text= xprofile_get_field_data(‘プロフィール項目’ ,bp_get_member_user_id());echo $profile_text; ?>

    上記で、テキストボックスやラジオボタンは表示されたのですが
    どうしても、チェックボックスの項目を表示させる事ができません…。

    何か追記など必要でしょうか。
    正直あまり詳しくない為、知識はあまり御座いません。

    本当に困っております。
    よろしくお願い致します。

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • こんにちは

    xprofile_get_field_data 関数は、チェックボックスの場合は配列(デフォルト)で取得されます。

    例)

    <?php
    $checks = xprofile_get_field_data( 'プロフィール蘭の名前', bp_get_member_user_id() );
    if( $checks && in_array( 'チェック項目の名前', $checks ) ):
    	// チェック項目がチェックされていた場合の処理
    endif;
    ?>

    第3引数に ‘comma’ を指定すれば、チェックされた項目の名前がカンマ区切りの文字列で取得されます。

    例)

    <?php echo xprofile_get_field_data( 'プロフィール蘭の名前', bp_get_member_user_id(), 'comma' ); ?>

    トピック投稿者 backcool

    (@backcool)

    >>ishitaka様
    情報有難うございます!

    海外のサイトとかを見てもずっと分からなくて
    悩んでおりました。

    教えて頂いたコードを使うとBuddyPress内の
    ファイルだと表示されるのですが、例えば
    Wordpress内や他の検索系のプラグイン結果
    からだとやはりチェックボックスだけが表示
    されない状況で御座います。

    こちらも原因分かりますでしょうか。
    ご質問ばかりで大変恐縮ですがもし
    お分かりになりましたらご教示頂けましたら幸いです。

    よろしくお願い致します。

    メンバーループの外側では、bp_get_member_user_id 関数でユーザー ID を取得することができないからでは?

    私はメンバーループ以外で使用したことがないので詳しいことは解りませんが、下記のページでメンバーループ以外で取得する方法が解説されているようです。
    https://codex.buddypress.org/developer/playing-with-the-users-id-in-different-contexts/

    トピック投稿者 backcool

    (@backcool)

    >>ishitaka様
    何度も有難うございました!

    何とかやれそうな事が見えてきましたので
    頑張ってみます。

    また何か御座いましたらその際はよろしくお願い致します。
    この度は有難うございました。

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • トピック「BuddyPressのユーザープロフィールの(チェックボックスの)項目を表示させたいです。」には新たに返信することはできません。