PHPackages                             hard-g/buddypress-12.0-url-polyfills - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. hard-g/buddypress-12.0-url-polyfills

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

hard-g/buddypress-12.0-url-polyfills
====================================

Polyfills for URL-related functions introduced in BuddyPress 12.0.

1.0.2(2y ago)22.9k↓100%1GPL-3.0-or-laterPHP

Since Oct 20Pushed 2y ago1 watchersCompare

[ Source](https://github.com/hard-g/buddypress-12.0-url-polyfills)[ Packagist](https://packagist.org/packages/hard-g/buddypress-12.0-url-polyfills)[ RSS](/packages/hard-g-buddypress-120-url-polyfills/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (1)DependenciesVersions (4)Used By (0)

BuddyPress 12.0 URL Polyfills
=============================

[](#buddypress-120-url-polyfills)

In version 12.0, BuddyPress changed the way that its URLs are built and routed. Previously, URLs were built using a combination of WordPress page routing (the "bp\_pages" system for top-level components), PHP constants, and hardcoded strings. After version 12.0, all URLs run through WP's rewrite API.

To accommodate this breaking change, new functions were introduced in BP 12.0 to build URLs. For example, where previously you might have used `bp_get_group_permalink( $group_id )`, you now use `bp_get_group_url( $group_id )`.

The BuddyPress 12.0 URL Polyfills library allows developers to build BuddyPress plugins that are compatible with both the new and old URL systems. Developers should write code that uses the new URL functions, such as `bp_get_group_url()`. Then, if the plugin is loaded on a site running a version of BuddyPress prior to 12.0, this library will provide the necessary polyfills so that your plugin runs as expected. Similarly, developers updating their existing BuddyPress plugins for BP 12.0 compatibility can update their code to use the new URL functions exclusively, and then use this library to provide backwards compatibility for older versions of BuddyPress.

Installation
------------

[](#installation)

This library is available on Packagist. To install it, run:

```
$ composer require hard-g/buddypress-12.0-url-polyfills

```

Alternatively, you may download the library and install it manually.

Usage
-----

[](#usage)

In your plugin or theme, require the autoloader, and then load the polyfill library as follows:

```
require_once __DIR__ . '/vendor/autoload.php';

HardG\BuddyPress120URLPolyfills\Loader::init();
```

The polyfill library loads its files on the `'bp_include'` hook. For this reason, it's important that you invoke the library (using the `Loader::init()` method shown above) early in your plugin bootstrap.

Help!
-----

[](#help)

This library has been built as part of my own efforts to upgrade my many BuddyPress plugins for BP 12.0. As such, it includes polyfills for those functions that I've identified as necessary for my own plugins. If you find more functions that need polyfills, please open a pull request.

###  Health Score

26

—

LowBetter than 43% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity21

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity45

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 96.2% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~66 days

Total

3

Last Release

803d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/e838cb56dd0d5bc3e35fb23e5df1ec2a820923b023fdebfb39cef5ba2b9cc95d?d=identicon)[boonebgorges](/maintainers/boonebgorges)

---

Top Contributors

[![boonebgorges](https://avatars.githubusercontent.com/u/246627?v=4)](https://github.com/boonebgorges "boonebgorges (25 commits)")[![imath](https://avatars.githubusercontent.com/u/1834524?v=4)](https://github.com/imath "imath (1 commits)")

### Embed Badge

![Health badge](/badges/hard-g-buddypress-120-url-polyfills/health.svg)

```
[![Health](https://phpackages.com/badges/hard-g-buddypress-120-url-polyfills/health.svg)](https://phpackages.com/packages/hard-g-buddypress-120-url-polyfills)
```

###  Alternatives

[mention/retry

A Retry library for PHP

1324.5k](/packages/mention-retry)[irfa/php-gatcha

Simple Items Gatcha with PHP

362.4k](/packages/irfa-php-gatcha)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
