BuddyX

BuddyNext Integration

Pro feature

BuddyNext is Wbcom's next-generation community engine and the successor to BuddyPress. BuddyX Pro detects it automatically and closes the gaps that BuddyNext leaves to the theme.


When the integration loads

The BuddyNext integration loads only when both conditions are true:

Condition Why
BUDDYNEXT_VERSION is defined BuddyNext is installed and active.
BuddyPress is not active BuddyNext and BuddyPress are mutually exclusive at runtime - a site runs one or the other, never both.

If BuddyPress is active, nothing in this page applies - the theme uses its BuddyPress integration instead. There is no setting to turn this on or off; it follows which plugin is active.


What the theme wires up

1. Auth links point at the BuddyNext auth hub

BuddyX Pro models auth as a mapped Login page and a mapped Registration page, falling back to WordPress core when no page is mapped. BuddyNext instead serves a single auth hub page, where signup and password reset are endpoints on that one page rather than separate published pages.

Left alone, the fallback would bypass that hub and land on wp-login.php. The theme filters three core URLs (priority 20) so every call site - header, bbPress login prompt, login widget - routes to BuddyNext at once:

Filter Resolves to
login_url \BuddyNext\Core\PageRouter::auth_url()
register_url \BuddyNext\Core\PageRouter::signup_url()
lostpassword_url \BuddyNext\Core\PageRouter::reset_url()

URLs are read from BuddyNext's public PageRouter API - no hard-coded slugs - so a custom auth slug is honoured. When a redirect_to is requested, it is carried through on the login and lost-password URLs.

Front-end only. wp-admin, wp-login.php itself, AJAX, REST, and cron are left on WordPress core, so administrator sign-in and the reset-password-from-email flow keep working unchanged.

A mapped page still wins. If you have mapped a Login or Registration page in the Customizer, the templates resolve that page before calling wp_login_url() / wp_registration_url(), so this fallback is never reached. The sign-in popup also keeps working.

2. Your "User Menu" appears in the BuddyNext header dropdown

BuddyNext renders its own header user section (bell, messages, avatar dropdown). By default that dropdown shows BuddyNext's own quick links.

When you assign a menu to the theme's User Menu nav location, those items become the dropdown's links instead - the menu you control, not a fixed default.

  • Only top-level items are used; a header dropdown is single-level, so child items are skipped.
  • Items carry no icon (the dropdown reserves the icon column so labels stay aligned).
  • Log Out is always kept - BuddyNext appends it regardless.
  • If no menu is assigned, or the assigned menu is empty, BuddyNext's own default quick links stay.

To set it: Appearance > Menus > Manage Locations > User Menu.


For developers

The integration lives in inc/compatibility/buddynext/buddynext-functions.php and is loaded from functions.php. Every function is wrapped in function_exists(), so a child theme can redefine any of them by declaring its own version first.

Function Purpose
buddyx_pro_buddynext_user_profile_menu_items() Reads the user_menu nav location as a flat list of dropdown rows.
buddyx_pro_buddynext_filter_user_menu_links() Hooked to buddynext_header_user_menu_links (priority 10).
buddyx_pro_buddynext_resolve_auth_url() Resolves an auth URL from \BuddyNext\Core\PageRouter. Returns '' when BuddyNext is unavailable.
buddyx_pro_buddynext_is_frontend_auth_context() Guards the auth filters to front-end requests only.

Each auth filter falls back to the unmodified core URL when BuddyNext can't resolve one, so the theme never emits a broken link.


Related

  • Bundled Plugins - BuddyNext and the rest of the first-party family
  • Menus - Menu locations, including User Menu
  • Page Mapping - Mapping Login / Registration pages

Need help? support@wbcomdesigns.com