Today, I had the fun task of changing the way that the “Freshness” dates display in BuddyPress forums. The idea behind “Freshness” is that there is an easy-to-read way to let people know when the forum topic was last updated. By default, it displays something like, “1 week, 5 days, 3 hours”, and I wanted to change that to say, “Sept. 18, 2012”.
The BuddyPress function that is used to make the “Freshness” call is bp_the_topic_time_since_last_post(). Unfortunately for me, this function is hard-wired to echo the value, which means that I cannot use PHP’s strtotime() function to manipulate the date format.
My solution was to find the core code for the bp_the_topic_time_since_last_post() function and rewrite it into my theme like so:
global $forum_template; echo date ('M d, Y', strtotime($forum_template->topic->topic_time));
(Thanks to Mark for helping me troubleshoot this!)