Skip to:
Content

bbPress.org

Changeset 6024


Ignore:
Timestamp:
05/10/2016 03:34:28 PM (9 years ago)
Author:
johnjamesjacoby
Message:

Forums: Updates to bbp_list_forums():

  • Always run filter, even over empty output
  • Only wrap output if not empty
  • Ensure that $count related variables are accurately reset during each loop iteration
  • Surrounding code clean-up

Fixes #2951.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/includes/forums/template.php

    r5951 r6024  
    803803
    804804    // Define used variables
    805     $output = $sub_forums = $topic_count = $reply_count = $counts = '';
    806     $i = 0;
    807     $count = array();
     805    $output = '';
    808806
    809807    // Parse arguments against default values
     
    827825
    828826        // Total count (for separator)
     827        $i          = 0;
    829828        $total_subs = count( $sub_forums );
    830829        foreach ( $sub_forums as $sub_forum ) {
     
    833832            // Get forum details
    834833            $count     = array();
    835             $show_sep  = $total_subs > $i ? $r['separator'] : '';
    836834            $permalink = bbp_get_forum_permalink( $sub_forum->ID );
    837835            $title     = bbp_get_forum_title( $sub_forum->ID );
     836            $show_sep  = ( $total_subs > $i )
     837                ? $r['separator']
     838                : '';
    838839
    839840            // Show topic count
     
    848849
    849850            // Counts to show
    850             if ( ! empty( $count ) ) {
    851                 $counts = $r['count_before'] . implode( $r['count_sep'], $count ) . $r['count_after'];
    852             }
     851            $counts = ! empty( $count )
     852                ? $r['count_before'] . implode( $r['count_sep'], $count ) . $r['count_after']
     853                : '';
    853854
    854855            // Build this sub forums link
    855856            $output .= $r['link_before'] . '<a href="' . esc_url( $permalink ) . '" class="bbp-forum-link">' . $title . $counts . '</a>' . $show_sep . $r['link_after'];
    856857        }
    857 
    858         // Output the list
    859         echo apply_filters( 'bbp_list_forums', $r['before'] . $output . $r['after'], $r, $args );
    860     }
     858    }
     859
     860    // Maybe wrap output
     861    if ( ! empty( $output ) ) {
     862        $output = $r['before'] . $output . $r['after'];
     863    }
     864
     865    // Filter & output the forums list
     866    echo apply_filters( 'bbp_list_forums', $output, $r, $args );
    861867}
    862868
Note: See TracChangeset for help on using the changeset viewer.