diff --git a/inc/Engine/Cache/TaxonomySubscriber.php b/inc/Engine/Cache/TaxonomySubscriber.php index bd9818930e..66bdae023b 100644 --- a/inc/Engine/Cache/TaxonomySubscriber.php +++ b/inc/Engine/Cache/TaxonomySubscriber.php @@ -69,6 +69,6 @@ private function is_not_valid_taxonomy_page() { $term_link = trailingslashit( $term_link ) . 'page/' . get_query_var( 'paged' ); } - return untrailingslashit( $term_link ) !== untrailingslashit( $current_link ); + return urldecode( untrailingslashit( $term_link ) ) !== urldecode( untrailingslashit( $current_link ) ); } } diff --git a/tests/Fixtures/inc/Engine/Cache/TaxonomySubscriber/disableCacheOnNotValidTaxonomyPages.php b/tests/Fixtures/inc/Engine/Cache/TaxonomySubscriber/disableCacheOnNotValidTaxonomyPages.php index ed83f72e48..81dbae61ee 100644 --- a/tests/Fixtures/inc/Engine/Cache/TaxonomySubscriber/disableCacheOnNotValidTaxonomyPages.php +++ b/tests/Fixtures/inc/Engine/Cache/TaxonomySubscriber/disableCacheOnNotValidTaxonomyPages.php @@ -91,5 +91,16 @@ ], 'can_cache' => false, ], + 'testValidTaxonomyPageWithNonLatinCharactersInUrl' => [ + 'config' => [ + 'is_category' => true, + 'is_tag' => false, + 'is_tax' => false, + 'current_term_id' => 1, + 'current_term_link' => 'http://example.com/%D0%BF%D1%80%D0%BE%D0%B4%D1%83%D0%BA%D1%82%D0%BE%D0%B2%D0%B0-%D0%BA%D0%B0%D1%82%D0%B5%D0%B3%D0%BE%D1%80%D0%B8%D1%8F/test1', + 'current_page_url' => 'http://example.com/продуктова-категория/test1/', + ], + 'can_cache' => true, + ], ], ];