web-dev-qa-db-ja.com

現在の投稿者のためにbuddypressユーザープロフィールリンクと特定のユーザープロフィールフィールドを取得するにはどうすればいいですか?

Get_author_link()とget_the_author_meta($ feld)を置き換えたい

現在の投稿Buddypressユーザープロフィールページの作者を指し、彼のBuddypressページから特定のプロフィールフィールドを取得するのと同等の何かを使って

つまり、投稿ユーザープロファイルへのリンクと彼のBPプロファイルフィールドの1つからの経歴を表示したいだけです。

どの関数を使うべきかわかりません…BuddyPressのドキュメントはWP Codexと違ってまだあまり明確ではありません...

ありがとう

12
unfulvio

著者のプロフィールリンクには、

bp_core_get_user_domain( $user_id )

uRLを取得する

bp_core_get_userlink( $user_id )

表示名を含むHTMLリンク要素を取得します。

Xprofileデータには、

xprofile_get_field_data( $field, $user_id )

$fieldは、フィールドの名前(「伝記」など)または数値のフィールドIDのいずれかです。

17
Boone Gorges

ちょっと違いますが、このスレッドはGoogleで最初に登場するので、他の人にとっては役に立つかもしれません。

現在ログインしているユーザープロファイルのリンクを取得するには、bp_loggedin_user_domain()を使用してください。

それが役立つことを願っています。

2
Buzut

あなたがそれをコメントに加える必要があるならば:

    <?php
$author_id = get_comment(get_comment_ID())->user_id;
if (function_exists('bp_get_profile_field_data')) {
    $bp_name = bp_core_get_userlink( $author_id );
    $bp_location = bp_get_profile_field_data('field=Location&user_id='.$author_id);
    if ($bp_name) {
    echo '<div>'. $bp_name . '</div>';
    }
    if ($bp_location) {
    echo '<div class="authorinfo">'. $bp_location . '</div>';
    }
}
?>

サンプルのプロフィールフィールド「location」を含めましたが、削除される可能性があります。コメント投稿者のBuddypressプロフィールへのリンクを表示するためのものです。コメントループの内側に配置する必要があります。これは次のようになります。

foreach($comments as $comment)
1
Lorelei Carson