Buddypress - Добавить HTML в профиль пользователя - только первая группа профиля

У меня есть 3 группы/раздела профиля на вкладке общего профиля Buddypress.

Я пытаюсь добавить собственный шорткод в первую группу, прямо под первой группой.

Это мой код:

add_action( 'bp_after_profile_loop_content', 'profile_choices_display' );
function profile_choices_display() {
   if ( 1 == bp_get_the_profile_group_id()) { 
     echo do_shortcode( '[user-profile-choices]' );
   }      
}

Без фильтра bp_get_the_profile_group_id() шорткод повторяется в каждой из 3 групп на этой странице.

Есть идеи, как этого добиться, чтобы он отображался только после первой группы?

Почему вы хотите избежать использования bp_get_the_profile_group_id() ?

shanebp 24.11.2022 18:13

Я не хочу, в идеале я хочу сохранить этот фильтр, но код с ним не работает.

Joe Bloggs 24.11.2022 23:44
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
2
54
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Хук, который вы использовали, называется слишком поздно. Пытаться:

add_action( 'bp_after_profile_field_content', 'profile_choices_display' );
function profile_choices_display() {
   if ( 'edit' !== bp_current_action() ) {
       if ( 1 == bp_get_the_profile_group_id()) { 
          echo do_shortcode( '[user-profile-choices]' );
       }
   }      
}

Именно то, что я искал, спасибо! Он рекламирует шорткод чуть ниже первой группы на странице domain.com/members/user, чего я и хотел, но он также размещает шорткод на странице редактирования группы domain.com/members/user/profile/edit/group/1/. Есть ли способ исключить его из показа на этой странице редактирования?

Joe Bloggs 25.11.2022 01:43

Я имею в виду, что я, вероятно, могу сделать это с помощью jQuery, но есть ли способ сделать это непосредственно из этой функции, чтобы она отображалась только в первой группе полей на странице профиля участника, но не на странице редактирования профиля?

Joe Bloggs 25.11.2022 01:55

См. редактирование по поводу bp_current_action.

shanebp 26.11.2022 15:27

Другие вопросы по теме