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;
+}