Як отримати посилання профілю користувача buddypress та певне поле профілю користувача для поточного автора публікації?


16

Я хочу замінити get_author_link () та get_the_author_meta ($ feld)

з чимось рівнозначним вказати на автора поточної сторінки профілю користувача Buddypress та отримати певне поле профілю зі своєї сторінки Buddypress

тобто я просто хочу показати посилання на профіль користувача користувача та біографію з одного з його полів профілю BP

Я не впевнений, які функції я повинен використовувати для цього ... Документація BuddyPress все ще не дуже зрозуміла на відміну від WP Codex ...

Спасибі

Відповіді:


20

Для посилання на авторський профіль використовуйте

bp_core_get_user_domain( $user_id )

щоб отримати URL-адресу та

bp_core_get_userlink( $user_id )

щоб отримати елемент посилання HTML, включаючи відображуване ім’я.

Для даних xprofile використовуйте

xprofile_get_field_data( $field, $user_id )

$field може бути або ім'ям поля (наприклад, "Біографія"), або числовим ідентифікатором поля.


3

Це дещо інакше, але оскільки ця нитка з’являється першою в Google, вона може бути корисною для когось іншого.

Щоб отримати поточне посилання на профіль користувача, просто увійдіть bp_loggedin_user_domain()

Сподіваюся, що це допомагає.


2

Якщо вам потрібно додати його в коментарях:

    <?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>';
    }
}
?>

Я включив зразок поля "Місцезнаходження", яке може бути видалено. Це для відображення посилання, щоб коментувати профіль автора Buddypress. Він повинен бути розміщений у циклі коментарів, який буде виглядати приблизно так:

foreach($comments as $comment)
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.