diff --git a/projects/packages/forms/changelog/fix-jetpack-counter b/projects/packages/forms/changelog/fix-jetpack-counter new file mode 100644 index 000000000000..2991ba611db3 --- /dev/null +++ b/projects/packages/forms/changelog/fix-jetpack-counter @@ -0,0 +1,4 @@ +Significance: patch +Type: fixed + +Add the awaiting-mod CSS class to the Jetpack menu feedback unread counter badge so it renders with the standard WordPress menu bubble styling. diff --git a/projects/packages/forms/src/contact-form/class-contact-form-plugin.php b/projects/packages/forms/src/contact-form/class-contact-form-plugin.php index 80951c1299a5..032f1b507b56 100644 --- a/projects/packages/forms/src/contact-form/class-contact-form-plugin.php +++ b/projects/packages/forms/src/contact-form/class-contact-form-plugin.php @@ -1556,7 +1556,8 @@ public function unread_count() { if ( $unread > 0 ) { $jetpack_unread_tag = $this->get_unread_count_badge_markup( $jetpack_badge_count, - $jetpack_badge_count - $unread + $jetpack_badge_count - $unread, + 'awaiting-mod' ); // phpcs:ignore WordPress.WP.GlobalVariablesOverride.Prohibited @@ -1591,16 +1592,24 @@ public function unread_count() { * * @param int $count Badge count to display. * @param int|null $unread_diff Optional diff for combined Jetpack menu badges. + * @param string $extra_classes Optional additional CSS classes for the badge. * @return string Badge HTML. */ - private function get_unread_count_badge_markup( $count, $unread_diff = null ) { - $attributes = "class='menu-counter jp-feedback-unread-counter count-" . (int) $count . "'"; + private function get_unread_count_badge_markup( $count, $unread_diff = null, $extra_classes = '' ) { + $classes = trim( + $extra_classes . ' menu-counter jp-feedback-unread-counter count-' . (int) $count + ); - if ( null !== $unread_diff ) { - $attributes = "data-unread-diff='" . (int) $unread_diff . "' " . $attributes; - } + $data_attr = null !== $unread_diff + ? sprintf( " data-unread-diff='%d'", (int) $unread_diff ) + : ''; - return " " . number_format_i18n( $count ) . ''; + return sprintf( + " %s", + $data_attr, + esc_attr( $classes ), + number_format_i18n( $count ) + ); } /**