Skip to content

Avoid PHP warnings by adding null defaults#22508

Merged
vraja-pro merged 1 commit intoYoast:trunkfrom
bor0:fix/php-warnings
Sep 4, 2025
Merged

Avoid PHP warnings by adding null defaults#22508
vraja-pro merged 1 commit intoYoast:trunkfrom
bor0:fix/php-warnings

Conversation

@bor0
Copy link
Copy Markdown
Contributor

@bor0 bor0 commented Aug 20, 2025

Context

  • Use similar approach in check_limit() as we do in get_upgrade_campaign().

Summary

This PR can be summarized in the following changelog entry:

  • Adds safety check when accessing an array to avoid PHP warnings when getting the upgrade campaign for Wincher integration. Props to @bor0.

Relevant technical choices:

Test instructions

Test instructions for the acceptance test before the PR gets merged

This PR can be acceptance tested by following these steps:

  • Go to the Wordpress dashboard ad click on the wincher widget.
  • Connect to wincher account or apply this patch to trigger the upgrade check
    wincher-upgrade.patch
  • Add to the wp-config.php the following lines:
define( 'WP_DEBUG', true ); 
define( 'WP_DEBUG_LOG', true ); 
define( 'WP_DEBUG_DISPLAY', false );
  • Go back to the Wordpress dashboard and refresh.
  • Open the debug.log from the wp-content folder and search for Warning: Undefined array key "months"
  • Check you don't see the warning.

Relevant test scenarios

  • Changes should be tested with the browser console open
  • Changes should be tested on different posts/pages/taxonomies/custom post types/custom taxonomies
  • Changes should be tested on different editors (Default Block/Gutenberg/Classic/Elementor/other)
  • Changes should be tested on different browsers
  • Changes should be tested on multisite

Test instructions for QA when the code is in the RC

  • QA should use the same steps as above.

QA can test this PR by following these steps:

Impact check

This PR affects the following parts of the plugin, which may require extra testing:

Documentation

  • I have written documentation for this change. For example, comments in the Relevant technical choices, comments in the code, documentation on Confluence / shared Google Drive / Yoast developer portal, or other.

Quality assurance

  • I have tested this code to the best of my abilities.
  • During testing, I had activated all plugins that Yoast SEO provides integrations for.
  • I have added unit tests to verify the code works as intended.
  • If any part of the code is behind a feature flag, my test instructions also cover cases where the feature flag is switched of
  • I have written this PR in accordance with my team's definition of done.
  • I have checked that the base branch is correctly set.

Innovation

  • No innovation project is applicable for this PR.
  • This PR falls under an innovation project. I have attached the innovation label.
  • I have added my hours to the WBSO document.

Fixes #

Use similar approach in `check_limit()` as we do in `get_upgrade_campaign()`.
@vraja-pro vraja-pro self-requested a review September 4, 2025 12:37
@vraja-pro vraja-pro self-assigned this Sep 4, 2025
@vraja-pro vraja-pro added the changelog: other Needs to be included in the 'Other' category in the changelog label Sep 4, 2025
Copy link
Copy Markdown
Contributor

@vraja-pro vraja-pro left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

CR & AC ✅

@vraja-pro vraja-pro added this to the 26.0 milestone Sep 4, 2025
@vraja-pro vraja-pro merged commit 7e7d052 into Yoast:trunk Sep 4, 2025
24 of 27 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

changelog: other Needs to be included in the 'Other' category in the changelog community-patch

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants