WordPress.org

Making WordPress.org

Opened 14 months ago

Last modified 14 months ago

#3479 new enhancement

Support Profile / Unsubscribe from all Topics button

Reported by: xkon Owned by:
Milestone: Priority: normal
Component: Profiles Keywords: has-screenshots 2nd-opinion needs-patch ui-feedback
Cc:

Description

I proposed this in the #forums meeting today and we thought that it might worth a ticket to see if this could be possible.

Sometimes we're subscribing ( or I am at least :D ) into pretty much all the topics that I've replied to keep track of what is done or needs more help. After some time though the list can get somewhat big especially if you're waiting for weeks for a reply that never comes.

I think a button to remove to Unsubscribe from all topics would be a good and handy little thing in there.

Maybe we could try something like in the screenshot, just as an overall idea :) .

Attachments (1)

unsubscribe_all_topics.png (85.6 KB) - added by xkon 14 months ago.
unsubscribe button idea

Download all attachments as: .zip

Change History (2)

@xkon
14 months ago

unsubscribe button idea

#1 @Otto42
14 months ago

This may need to wait for better or more comprehensive support for subscriptions in bbPress.

Right now, bbP stores topic subscriptions as usermeta. This isn't particularly scalable and we have some issues with it already when it's doing queries to get the list of users to whom to send those notifications. It only works because of caching, really.

If bbP changes how it stores the subscriptions, then any code we added onto the forums to do this would likely need to be changed if and when bbPress changes. However, if bbPress is going to change, then implementing a function to do this properly could be part of that change as well.

Right now, deleting all topic subs is basically just calling delete_user_option( $user_id, '_bbp_subscriptions' ); and then doing some cache cleanup. But that assumes that we'll continue to store them that way. Having this built into bbPress with a bbp_remove_all_user_subscriptions() or something would be more future-proof.

Note: See TracTickets for help on using tickets.