Opened 4 years ago
Closed 3 years ago
#48528 closed defect (bug) (duplicate)
warning in wp-includes/class.wp-scripts.php:454: Cannot assign an empty string to a string offset
Reported by: |
|
Owned by: | |
---|---|---|---|
Milestone: | Priority: | normal | |
Severity: | normal | Version: | 5.2.4 |
Component: | Script Loader | Keywords: | php8 |
Focuses: | Cc: |
Description
When sending an empty value to wp_localize_script() a warning is issued stating:
Cannot assign an empty string to a string offset
How to reproduce:
call wp_localize_script() like this:
<?php wp_localize_script('my_valid_handle', 'my_variable_name', '');
Analysis:
Sending an empty value for a variable is perfectly legit so there is no problem with the input.
The problem lies here: The code at line 449 treats $l10n forcefully as an array but the code at 454 wrongfully assumes $l10n is an array without checking.
Change History (8)
#2
@
3 years ago
This ticket was mentioned in Slack in #core by hellofromtonya. View the logs.
3 years ago
#5
@
3 years ago
- Milestone changed from Awaiting Review to 5.6
Per yesterday's scrub conversation in slack, this ticket is part of the 5.6 PHP8 scope. Moving into the milestone.
The
wp_localize_script
docs treat $l10n as an array, which is why an empty string is not a valid default value. I'm not sure what's the use case for an empty value in general, but have you tested an empty array instead?