[buddypress-trac] [BuddyPress Trac] #6014: Include BP Edit Group Slug into the core
buddypress-trac
noreply at wordpress.org
Sat Nov 15 18:26:46 UTC 2014
#6014: Include BP Edit Group Slug into the core
-------------------------+-----------------------------
Reporter: slaFFik | Owner:
Type: enhancement | Status: new
Priority: normal | Milestone: Future Release
Component: Groups | Version:
Severity: normal | Resolution:
Keywords: needs-patch |
-------------------------+-----------------------------
Changes (by r-a-y):
* type: task => enhancement
Comment:
> Changing a slug means breaking backward compatibility with existing
links.
I recently did something for username change redirection. This is what I
did:
* I hooked on the `bp_do_404` action and detected if we're trying to load
an invalid group page. Note: This highly relied on the
`$bp_unfiltered_uri` global, which would probably break when moving to
rewrite rules.
* Next, I grabbed an option containing group slug changes. eg.
`bp_get_option( 'bp_group_slug_changes')`. Result is an array that looks
like this - `[oldslug] => GROUP_ID`.
* If the old slug matches a key in the array, do a `str_replace()` in the
requested URL with the new group slug and redirect. This would handle the
`primary_link` and `action` problem without having to alter anything in
the DB.
To me, this is the most economical way of doing redirections because we do
it when we absolutely need to (during a 404) and without having to tack on
a rewrite rule in WP.
The only problem I see is using `bp_get_option()`. If there are a ton of
group slug changes, then this isn't the best storage model. Could
probably use groupmeta, but the `SELECT meta_value` lookup would suck.
However, since redirections would probably be done infrequently, it might
be okay to use groupmeta.
--
Ticket URL: <https://buddypress.trac.wordpress.org/ticket/6014#comment:2>
BuddyPress Trac <http://buddypress.org/>
BuddyPress Trac
More information about the buddypress-trac
mailing list