diff --git a/source/wp-content/themes/wporg-showcase-2022/inc/block-config.php b/source/wp-content/themes/wporg-showcase-2022/inc/block-config.php index 44d77f74..7198b843 100644 --- a/source/wp-content/themes/wporg-showcase-2022/inc/block-config.php +++ b/source/wp-content/themes/wporg-showcase-2022/inc/block-config.php @@ -70,12 +70,13 @@ function ( $a, $b ) { _n( 'Popular tags %s', 'Popular tags %s', $count, 'wporg' ), $count ); + $option_labels = get_option_labels( $tags ); return array( 'label' => $label, 'title' => __( 'Popular tags', 'wporg' ), 'key' => 'tag', 'action' => home_url( '/archives/' ), - 'options' => array_combine( wp_list_pluck( $tags, 'slug' ), wp_list_pluck( $tags, 'name' ) ), + 'options' => array_combine( wp_list_pluck( $tags, 'slug' ), $option_labels ), 'selected' => $selected, ); } @@ -101,12 +102,13 @@ function get_flavor_options( $options ) { _n( 'Flavors %s', 'Flavors %s', $count, 'wporg' ), $count ); + $option_labels = get_option_labels( $flavors ); return array( 'label' => $label, 'title' => __( 'Flavors', 'wporg' ), 'key' => 'flavor', 'action' => home_url( '/archives/' ), - 'options' => array_combine( wp_list_pluck( $flavors, 'slug' ), wp_list_pluck( $flavors, 'name' ) ), + 'options' => array_combine( wp_list_pluck( $flavors, 'slug' ), $option_labels ), 'selected' => $selected, ); } @@ -147,12 +149,14 @@ function get_category_options( $options ) { _n( 'Categories %s', 'Categories %s', $count, 'wporg' ), $count ); + $option_labels = get_option_labels( $categories ); + return array( 'label' => $label, 'title' => __( 'Categories', 'wporg' ), 'key' => 'cat', 'action' => home_url( '/archives/' ), - 'options' => array_combine( wp_list_pluck( $categories, 'term_id' ), wp_list_pluck( $categories, 'name' ) ), + 'options' => array_combine( wp_list_pluck( $categories, 'term_id' ), $option_labels ), 'selected' => $selected, ); } @@ -399,3 +403,22 @@ function update_site_breadcrumbs( $breadcrumbs ) { return $breadcrumbs; } + +/** + * Get an array of option labels. + * Each label is a string formatted as 'name (count)'. e.g, Business (30). + * + * @param array $taxonomy An arrays with taxonomy terms. e.g., Categories = [ Business, Store, etc. ]. + * @return array An array of formatted option label strings. + */ +function get_option_labels( $taxonomy ) { + $option_labels = array_map( + function( $name, $count ) { + return $name . " ($count)"; + }, + wp_list_pluck( $taxonomy, 'name' ), + wp_list_pluck( $taxonomy, 'count' ) + ); + + return $option_labels; +}