Bug Report
-
Hi! Back here with a bug report.
In the latest version of Breeze, under the Advanced settings tab, we have the ability to specify query string parameters under the “Cache Query Strings” section. Urls that include any of the parameters should be cached. Your KB article about this further clarifies this:
If multiple parameters in a URL with at least one of your defined parameters is present, the page will be cached.
However, this doesn’t seem to be the case. On line 158 in the execute-cache.php file, the code checks if
0 !== (int) $breeze_query_vars_list['extra_query_no']
and if so, does not cache the page. Let me explain:Using the example from the KB article, let’s say my page URL is
https://example.com/page/?country=germany&eyes=blue
, and I definecountry
as the query variable that Breeze should look for and always cache pages that include it. However, the methodcheck_query_var_group()
inBreeze_Query_Strings_Rules
will only see “country” as a recognized query var, and place “eyes” in this case in theextra_query_no
count. Which would lead to the URL not getting cached at all. Which means the code isn’t really working as intended. It sounds like the code should unset all elements from$not_found_anywhere
if at least one of them was found in$user_defined_query_vars
.I can see the necessity to sometimes specify all the query parameters before caching a URL. But it would be great if we could in fact also have some sort of wildcard version where if ANY of the parameters are present in the always cache list, cache the entire URL (as per the original intended usage and the KB article).
Thoughts?
DavidThe page I need help with: [log in to see the link]
- The topic ‘Bug Report’ is closed to new replies.