[buddypress-trac] [BuddyPress Trac] #1269: Create a BP_Loop_Template base class that all template classes can inherit from

buddypress-trac noreply at wordpress.org
Sun Dec 21 18:44:24 UTC 2014

#1269: Create a BP_Loop_Template base class that all template classes can inherit
 Reporter:  rvenable                |       Owner:  johnjamesjacoby
     Type:  enhancement             |      Status:  assigned
 Priority:  normal                  |   Milestone:  2.3
Component:  Theme / Template Parts  |     Version:
 Severity:  normal                  |  Resolution:
 Keywords:                          |

Comment (by boonebgorges):

 imath - Thanks for your research and work on this!

 It's a bit annoying (although not surprising) that BP's loops are
 inconsistent in the ways you've described. But, as you note, we shouldn't
 let that hold us up. Core subclasses like `BP_Groups_Template` can just
 override additional parent methods to maintain backward compatibility, and
 where necessary, we can break up some of the big methods so that the bits
 that get overridden are smaller.

 A couple principles going forward:

 - In cases where you're overriding a non-abstract class - that is, a
 specific component's template loop has to override a `BP_Template_Loop`
 method for backward compatibility or because it's got to do something
 special - let's make sure that the docblock explains the reasoning.
 - As noted above, if we find that we have to override something in
 `BP_Template_Loop`, let's try to make it as narrow as possible. If that
 means breaking up a big method so that it calls some smaller methods, then
 let's do it.
 - I think we'll need to maintain methods like `rewind_blogs()`, just in
 case anyone is calling them directly. We can turn them into wrappers for
 `rewind_items()` etc, and if you want, we can throw deprecated function
 notices (though I don't care one way or another about that).
 - Let's make sure that the docblocks for the `BP_Template_Loop` hooks are
 really good. These will be dynamic hooks, so we want to make sure that
 they're documented thoroughly.

Ticket URL: <https://buddypress.trac.wordpress.org/ticket/1269#comment:12>
BuddyPress Trac <http://buddypress.org/>
BuddyPress Trac

More information about the buddypress-trac mailing list