bbp_get_form_topic_type_dropdown( $args = '' )
Returns topic type select box (normal/sticky/super sticky)
Description
Parameters
- $args
-
(Optional) This function supports these arguments: - select_id: Select id. Defaults to bbp_stick_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_type_dropdown( $args = '' ) { // Parse arguments against default values $r = bbp_parse_args( $args, array( 'select_id' => 'bbp_stick_topic', 'tab' => bbp_get_tab_index(), 'topic_id' => 0, 'selected' => false ), 'topic_type_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 passed } else { // Edit topic if ( bbp_is_single_topic() || bbp_is_topic_edit() ) { // Get current topic id $topic_id = bbp_get_topic_id( $r['topic_id'] ); // Topic is super sticky if ( bbp_is_topic_super_sticky( $topic_id ) ) { $r['selected'] = 'super'; // Topic is sticky or normal } else { $r['selected'] = bbp_is_topic_sticky( $topic_id, false ) ? 'stick' : 'unstick'; } } } } // 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_types() as $key => $label ) : ?> <option value="<?php echo esc_attr( $key ); ?>"<?php selected( $key, $r['selected'] ); ?>><span><?php _e( 'Type: ', 'buddyboss' ) ?></span><?php echo esc_html( $label ); ?></option> <?php endforeach; ?> </select> <?php // Return the results return apply_filters( 'bbp_get_form_topic_type_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.