Skip to:
Content

bbPress.org


Ignore:
Timestamp:
07/15/2015 04:30:34 PM (9 years ago)
Author:
johnjamesjacoby
Message:

Moderators: Introduce none argument for topic-tags & forum-mods list functions.

This change allows for passing text or HTML to output if no taxonomy terms are found, and uses this new functionality in wp-admin to show per-forum moderators in the list-table column, also reducing code duplication.

See #459.

File:
1 edited

Legend:

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

    r5834 r5835  
    22312231 * Output a the moderators of a forum
    22322232 *
     2233 * @since bbPress (r5834)
     2234 *
    22332235 * @param int   $forum_id Optional. Topic id
    22342236 * @param array $args     See {@link bbp_get_forum_mod_list()}
     
    22402242    /**
    22412243     * Return the moderators of a forum
     2244     *
     2245     * @since bbPress (r5834)
    22422246     *
    22432247     * @param int   $forum_id Optional. Forum id
     
    22552259        // Bail if forum-mods are off
    22562260        if ( ! bbp_allow_forum_mods() ) {
    2257             return;
     2261            return '';
    22582262        }
    22592263
     
    22622266            'before' => '<div class="bbp-forum-mods"><p>' . esc_html__( 'Moderators:', 'bbpress' ) . '&nbsp;',
    22632267            'sep'    => ', ',
    2264             'after'  => '</p></div>'
     2268            'after'  => '</p></div>',
     2269            'none'   => ''
    22652270        ), 'get_forum_mod_list' );
    22662271
     2272        // Bail if forum ID is invalid
    22672273        $forum_id = bbp_get_forum_id( $forum_id );
    2268 
    2269         $retval   = get_the_term_list( $forum_id, bbp_get_forum_mod_id(), $r['before'], $r['sep'], $r['after'] );
     2274        if ( empty( $forum_id ) ) {
     2275            return '';
     2276        }
     2277
     2278        // Get forum moderators
     2279        $moderators = wp_get_object_terms( $forum_id, bbp_get_forum_mod_tax_id() );
     2280        if ( ! empty( $moderators ) ) {
     2281
     2282            // In admin, use nicenames
     2283            if ( is_admin() ) {
     2284
     2285                // @todo link to filtering forums by moderator
     2286                $users = wp_list_pluck( $moderators, 'name' );
     2287
     2288            // In theme, use display names & profile links
     2289            } else {
     2290                $users    = array();
     2291                $term_ids = wp_list_pluck( $moderators, 'term_id' );
     2292                foreach ( $term_ids as $term_id ) {
     2293                    $user_id = bbp_get_term_taxonomy_user_id( $term_id );
     2294                    $users[] = bbp_get_user_profile_link( $user_id );
     2295                }
     2296            }
     2297
     2298            $retval = $r['before'] . implode( $r['sep'], $users ) . $r['after'];
     2299
     2300        // No forum moderators
     2301        } else {
     2302            $retval = $r['none'];
     2303        }
    22702304
    22712305        return $retval;
Note: See TracChangeset for help on using the changeset viewer.