I also went through and audited the usage of nopaging and posts_per_page. It's a micro-optimization, but I've set posts_per_page => -1 when were setting nopaging => true, and I've set nopaging => true where we're setting posts_per_page => -1.

Attached patch fixes an issue where the query in bbb_forum_query_last_reply_id() was returning all reply ids, rather than a single reply id, due to incorrect usage of nopaging => true.

In r6506 the nopaging query argument was added to various queries to avoid paginating results when it wasn't necessary. This resulted in a few queries (widgets mainly) not obeying their specific settings.

In #3123, other inconsistencies in our query arguments were uncovered, triggering the need to audit our query usages and equalize them once again.

This change brings all queries back to par with one another, specifically in regards to posts_per_page => -1 style queries, and queries where filters can be suppressed and meta/term caches should not be primed.

It also groups together the get_user_object_ids functions. These are now unused in bbPress proper, though were previously useful before the engagements API was in place. These queries are considered too inefficient to rely upon in large-scale applications, but are included to provide filterable wrappers should someone need them, or should we need to bring them back later.