Skip to content

Commit 0d7361a

Browse files
committed
bugfix monthly badges only showing the current month
1 parent ef8a14e commit 0d7361a

1 file changed

Lines changed: 13 additions & 2 deletions

File tree

views/page-widgets/parts/monthly-badges.php

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,13 +41,24 @@
4141
<?php
4242
if ( 'popover' !== $prpl_location && 3 < \count( $prpl_badges ) ) {
4343
// If we have more than 3 badges, we need to show the current month badge and the previous 2 months badges.
44-
$prpl_current_month_badge_id = Monthly::get_badge_id_from_date( new \DateTime() );
45-
$prpl_temp_badges = [];
44+
$prpl_current_month_badge_id = Monthly::get_badge_id_from_date( new \DateTime() );
45+
$prpl_temp_badges = [];
46+
$prpl_current_month_badge_index = 0;
4647
foreach ( $prpl_badges as $prpl_badge ) {
4748
$prpl_temp_badges[] = $prpl_badge;
4849
if ( $prpl_current_month_badge_id === $prpl_badge->get_id() ) {
4950
break;
5051
}
52+
++$prpl_current_month_badge_index;
53+
}
54+
if ( 3 > \count( $prpl_temp_badges ) ) {
55+
$prpl_temp_badges = [ $prpl_badges[ $prpl_current_month_badge_index ] ];
56+
if ( isset( $prpl_badges[ $prpl_current_month_badge_index + 1 ] ) ) {
57+
$prpl_temp_badges[] = $prpl_badges[ $prpl_current_month_badge_index + 1 ];
58+
}
59+
if ( isset( $prpl_badges[ $prpl_current_month_badge_index + 2 ] ) ) {
60+
$prpl_temp_badges[] = $prpl_badges[ $prpl_current_month_badge_index + 2 ];
61+
}
5162
}
5263
$prpl_badges = \array_slice( $prpl_temp_badges, -3 ); // We show only 3 badges in page widget.
5364
}

0 commit comments

Comments
 (0)