• 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 define country as the query variable that Breeze should look for and always cache pages that include it. However, the method check_query_var_group() in Breeze_Query_Strings_Rules will only see “country” as a recognized query var, and place “eyes” in this case in the extra_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?
    David

    The page I need help with: [log in to see the link]

Viewing 3 replies - 1 through 3 (of 3 total)
Viewing 3 replies - 1 through 3 (of 3 total)
  • The topic ‘Bug Report’ is closed to new replies.