Intereting Posts
Выполнение query_posts после wp_insert_post Создать сообщение, используя форму на панели инструментов WP Получить список всех ссылок на странице? Справка с .htaccess перенаправляет проблему, когда WordPress находится в подпапке Добавление возможностей пользователя и проверка на него Как получить количество страниц при копировании комментариев? Не удается получить разбивку на страницы только для липких сообщений Отправленные сообщения, планирующие показать новые участники Как сделать регистрационную форму ajax? Неустранимая ошибка: Исключение выбрано без рамки стека Неизвестно в строке 0 switch_to_blog () соображения производительности и альтернативы Выполняется ли код быстрее в functions.php, чем в разных шаблонах тем? URL-адрес выхода из системы Разница между архивом и страницами с перечислением страниц Автоматическое создание ссылки на сброс пароля

Как отобразить полевые данные профиля BuddyPress в многопользовательских блогах

Я пытаюсь отобразить поле xprofile BuddyPress в многостраничном блоге WordPress. Я думал, что это может сделать трюк, но display_user, похоже, не работает вне BP? Есть простой способ сделать это? Я знаю, что есть старый плагин, который делает это в виджетах, но мне это совсем не нужно, и я бы предпочел поставить это прямо в тему.

Вот что я пробовал в теме в многосайтовом блоге. Это работает с loggedin_user-> id, но, конечно, для того, что я снимаю, это данные профиля для администратора блога. Возможно ли это получить?

<?php global $bp; $myfield = xprofile_get_field_data( 'Counties Served', $bp->displayed_user->id, $multi_format = 'comma' ); $data = xprofile_format_profile_field('checkbox', $myfield); echo $data; ?> 

Поиграв с ним немного больше, вот что, наконец, помогло мне:

 global $bp; $thisblog = $current_blog->blog_id; $user_from_email = get_user_by('email', get_blog_option($thisblog, 'admin_email')); $user_id = $user_from_email->ID; $myfield = xprofile_get_field_data( 'Counties Served', $user_id, $multi_format = 'comma' ); $data = xprofile_format_profile_field('checkbox', $myfield); echo $data; 

Идентификатор $bp->displayed_user->id возвращает тот же идентификатор, что и идентификатор автора, поэтому, когда вы не находитесь внутри цикла членов или на странице участников, вам нужно получить идентификатор пользователя, используя функции WordPress.

 <?php global $bp, $post; $myfield = xprofile_get_field_data( 'Counties Served', $post->post_author, $multi_format = 'comma' ); $data = xprofile_format_profile_field('checkbox', $myfield); echo $data; ?>