bp_activity_types_list( string $output = 'select', array|string $args = '' )
Echo a list of all registered activity types for use in dropdowns or checkbox lists.
Description
Parameters
- $output
-
(Optional) Either 'select' or 'checkbox'. Default: 'select'.
Default value: 'select'
- $args
-
(Optional) Optional extra arguments.
- 'checkbox_name'
(string) When returning checkboxes, sets the 'name' attribute. - 'selected'
(array|string) A list of types that should be checked/ selected.
Default value: ''
- 'checkbox_name'
Source
File: bp-activity/bp-activity-template.php
function bp_activity_types_list( $output = 'select', $args = '' ) { $args = bp_parse_args( $args, array( 'checkbox_name' => 'bp_activity_types', 'selected' => array(), ) ); $activities = bp_activity_get_types(); natsort( $activities ); // Loop through the activity types and output markup. foreach ( $activities as $type => $description ) { // See if we need to preselect the current type. $checked = checked( true, in_array( $type, (array) $args['selected'] ), false ); $selected = selected( true, in_array( $type, (array) $args['selected'] ), false ); // Switch output based on the element. switch ( $output ) { case 'select' : printf( '<option value="%1$s" %2$s>%3$s</option>', esc_attr( $type ), $selected, esc_html( $description ) ); break; case 'checkbox' : printf( '<label style="" for="%1$s[]">%2$s<input type="checkbox" id="%1$s[]" name="%1$s[]" value="%3$s" %4$s/></label>', esc_attr( $args['checkbox_name'] ), esc_html( $description ), esc_attr( $args['checkbox_name'] ), esc_attr( $args['checkbox_name'] ), esc_attr( $type ), $checked ); break; } /** * Fires at the end of the listing of activity types. * * This is a variable action hook. The actual hook to use will depend on the output type specified. * Two default hooks are bp_activity_types_list_select and bp_activity_types_list_checkbox. * * @since BuddyPress 1.7.0 * * @param array $args Array of arguments passed into function. * @param string $type Activity type being rendered in the output. * @param string $description Description of the activity type being rendered. */ do_action( 'bp_activity_types_list_' . $output, $args, $type, $description ); } // Backpat with BP-Default for dropdown boxes only. if ( 'select' === $output ) { /** * @todo add title/description * * @since BuddyBoss 1.0.0 */ do_action( 'bp_activity_filter_options' ); } }
Changelog
Version | Description |
---|---|
BuddyPress 1.7.0 | 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.