Пользовательская страница профиля Buddypress, установленная в качестве целевой страницы (BP_DEFAULT_COMPONENT) - PullRequest
0 голосов
/ 07 января 2019

Я пытаюсь создать настраиваемую вкладку профиля Buddypress и сделать так, чтобы она была целевой страницей профиля пользователя. Я определил вкладку в functions.php:

// Profile home tab

function profile_tab_overview() {
      global $bp;

      bp_core_new_nav_item( array( 
            'name' => 'Overview', 
            'slug' => 'overview', 
            'screen_function' => 'overview_screen', 
            'position' => 40,
            'parent_url'      => bp_loggedin_user_domain() . '/overview/',
            'parent_slug'     => $bp->profile->slug,
            'default_subnav_slug' => 'overview'
      ) );
}
add_action( 'bp_setup_nav', 'profile_tab_overview' );


function overview_screen() {

    // Add title and content here - last is to call the members plugin.php template.
    add_action( 'bp_template_title', 'overview_title' );
    add_action( 'bp_template_content', 'overview_content' );
    bp_core_load_template( 'buddypress/members/single/plugins' );
}
function overview_title() {
    echo 'Overview';
}

function overview_content() { 
    echo 'Content';
}

Затем я установил его в качестве целевой страницы профиля в wp-config.php с помощью:

//Change BuddyPress default Members landing tab.

define('BP_DEFAULT_COMPONENT', 'overview' );

Если я заменил BP_DEFAULT_COMPONENT на стандартную страницу профиля Buddypress, например, «профиль», это сработает, но не с пользовательской страницей, которую я создал. Кто-нибудь знает почему или что я могу с этим поделать?

1 Ответ

0 голосов
/ 12 января 2019

Какую версию BuddyPress вы используете? Может потребоваться обновление до 4.0+ - обратите внимание, что такое поведение может ожидаться. От https://buddydev.com/what-is-new-in-buddypress-4-0/

Восстановление поведения BP_DEFAULT_COMPONENT

Константа BP_DEFAULT_COMPONENT используется, чтобы указать посадку по умолчанию страница в профиле пользователя, когда его профиль ссылка (http://example.com/members/username/) открыта.

В BuddyPress 3.0, когда была добавлена ​​первая страница пользователя (домашний экран), поведение изменилось. Если первая страница была включена, эта константа не работа. Чтобы это работало, вы должны были отключить главную страницу пользователя. BuddyPress 4.0 снова восстанавливает превосходство BP_DEFAULT_COMPONENT. Теперь он будет работать как положено.

В качестве альтернативы, вы используете 4.0+, возможно, потребуется понижение рейтинга: https://buddypress.org/support/topic/bp_default_component-no-longer-working/

Я использую define (‘BP_DEFAULT_COMPONENT’, ‘dashboard’); в моем functions.php, но он больше не работает, так как несколько обновлений назад. .... Просто откатился на 3.2.0 и теперь это исправлено.

...