@shanebp
1- I do understand this, but if you change a filter and use it like that for a while, and then want to change it again, your existing data will stay unchanged. To me the solution is to not have a filter for things that won’t be able to be manipulated later on.
2- Building dynamic strings may be ever so slightly slower, but it’s the reason I love WordPress – To have the power to easily and dynamically change data.
The main reason I want to make changes to the code is because BuddyPress currently provides a specific way to output things, example:
“Author Name posted an update in the group [group avatar] Group Name, 14 hours, 00 minutes ago”
A: None of the links have a class set (except for the time) Meaning that I can’t add CSS to increase the size of “Author Name” without affecting “Group Name” and vice-versa. So I was trying to manipulate the filter to add a class.
B: I want to change the order of the output, for example if I increase the size of the group avatar I would want to move it from where it is completely. Not very flexible for people who want to make the line work/look a certain way.
Another example of this problem is the avatar sizes:
If you define the avatar sizes, example:
define ( 'BP_AVATAR_FULL_WIDTH', 300 );
any avatars from activity/groups previously created will still use the old avatar size.
So if you set it to 300, and then I want to change it in the future to 100 and change the design/CSS, all the existing activity will still show 300 and look bad with the new CSS.
WordPress works this way to with image thumbnails, however, you can force a regeneration of them using a plugin.
In short, I am finding that BuddyPress is a great plugin but it seems to me that for the activity (the most important aspect of the plugin) you are stuck into using/showing it how the BuddyPress developers decided was the best format/look, because changing it via filters will result in headaches if I install my custom filters on a site with existing BuddyPress data.
If there were a way to regenerate the activity database to update everything with the filters/sizes set, that would solve most of the more obvious problems.