bbp_get_form_topic_status_dropdown( $args = '' )
Returns topic status downdown
Description
This dropdown is only intended to be seen by users with the ‘moderate’ capability. Because of this, no additional capablitiy checks are performed within this function to check available topic statuses.
Parameters
- $args
-
(Optional) This function supports these arguments: - select_id: Select id. Defaults to bbp_open_close_topic - tab: Tabindex - topic_id: Topic id - selected: Override the selected option
Default value: ''
Source
File: bp-forums/topics/template.php
function bbp_get_form_topic_status_dropdown( $args = '' ) { // Parse arguments against default values $r = bbp_parse_args( $args, array( 'select_id' => 'bbp_topic_status', 'tab' => bbp_get_tab_index(), 'topic_id' => 0, 'selected' => false ), 'topic_open_close_select' ); // No specific selected value passed if ( empty( $r['selected'] ) ) { // Post value is passed if ( bbp_is_post_request() && isset( $_POST[ $r['select_id'] ] ) ) { $r['selected'] = $_POST[ $r['select_id'] ]; // No Post value was passed } else { // Edit topic if ( bbp_is_topic_edit() ) { $r['topic_id'] = bbp_get_topic_id( $r['topic_id'] ); $r['selected'] = bbp_get_topic_status( $r['topic_id'] ); // New topic } else { $r['selected'] = bbp_get_public_status_id(); } } } // Used variables $tab = ! empty( $r['tab'] ) ? ' tabindex="' . (int) $r['tab'] . '"' : ''; // Start an output buffer, we'll finish it after the select loop ob_start(); ?> <select name="<?php echo esc_attr( $r['select_id'] ) ?>" id="<?php echo esc_attr( $r['select_id'] ); ?>_select"<?php echo $tab; ?>> <?php foreach ( bbp_get_topic_statuses( $r['topic_id'] ) as $key => $label ) : ?> <option value="<?php echo esc_attr( $key ); ?>"<?php selected( $key, $r['selected'] ); ?>><?php echo esc_html( $label ); ?></option> <?php endforeach; ?> </select> <?php // Return the results return apply_filters( 'bbp_get_form_topic_status_dropdown', ob_get_clean(), $r ); }
Changelog
Version | Description |
---|---|
bbPress (r5059) | Introduced. |
Questions?
We're always happy to help with code or other questions you might have! Search our developer docs, contact support, or connect with our sales team.