how to edit bbp_forum_freshness_link() format

I’m trying to find how to edit format of bbp_forum_freshness_link() function in bbpress plugin. E.g. currently it displays how many days ago there was last activity and I would like to display date. So if someone would like to share some thoughts or code snippets, that would be great.

Related posts

Leave a Reply

2 comments

  1. I cannot test it right now, but it should work like this:

    add_filter( 'bbp_get_forum_freshness_link', 'wpse_77441_change_time_format', 10, 2 );
    
    function wpse_77441_change_time_format( $anchor, $forum_id )
    {
        $last_active = get_post_meta( $forum_id, '_bbp_last_active_time', true );
    
        if ( empty( $last_active ) ) {
            $reply_id = bbp_get_forum_last_reply_id( $forum_id );
    
            if ( !empty( $reply_id ) ) {
                $last_active = get_post_field( 'post_date', $reply_id );
            } else {
                $topic_id = bbp_get_forum_last_topic_id( $forum_id );
    
                if ( !empty( $topic_id ) ) {
                    $last_active = bbp_get_topic_last_active_time( $topic_id );
                }
            }
        }
    
        $date       = bbp_convert_date( $last_active );
        $time_since = bbp_get_forum_last_active_time( $forum_id );
    
        return str_replace( "$time_since</a>", "$date</a>", $anchor );
    }
    
  2. function wpse_77441_change_time_format( $anchor, $forum_id )
    {
        $last_active = get_post_meta( $forum_id, '_bbp_last_active_time', true );
    
        if ( empty( $last_active ) ) {
            $reply_id = bbp_get_forum_last_reply_id( $forum_id );
    
            if ( !empty( $reply_id ) ) {
                $last_active = get_post_field( 'post_date', $reply_id );
            } else {
                $topic_id = bbp_get_forum_last_topic_id( $forum_id );
    
                if ( !empty( $topic_id ) ) {
                    $last_active = bbp_get_topic_last_active_time( $topic_id );
                }
            }
        }
    
          $date   = get_post_time( get_option( 'date_format' ), $gmt, $reply_id, true );
          $time   = get_post_time( get_option( 'time_format' ), $gmt, $reply_id, true );
          $dt = sprintf( _x( '%1$s at %2$s', 'date at time', 'bbpress' ), $date, $time );    
    
        $time_since = bbp_get_forum_last_active_time( $forum_id );
    
    
        return str_replace( "$time_since</a>", "$dt</a>", $anchor );
    }
    add_filter( 'bbp_get_forum_freshness_link', 'wpse_77441_change_time_format', 10, 2 );