fixed:
In 64413:
Widgets: Use booleans in Categories widget arguments.
The Categories widget passed show_count and hierarchical to wp_list_categories() and wp_dropdown_categories() as the numeric strings '0' and '1', while both functions document these arguments as bool|int. They are now passed as booleans, matching what the Categories block already passes. Core only checks these values for truthiness, so output is unchanged; a callback on the widget_categories_args or widget_categories_dropdown_args filter that compares them strictly to '1' or '0' is the only code affected, which is noted in the filters' @since tags.
The arguments passed to those filters, along with the widget's display arguments and instance settings, are now documented as hashes so that static analysis can type them. The count, hierarchical and dropdown settings are documented as the 0 or 1 that update() stores, while widget() keeps reading them loosely for instances saved before WordPress 2.8, which stored booleans. A missing title in the submitted settings no longer triggers an undefined array key warning in update(), which can happen when REST API form data omits it.
Developed in https://github.com/WordPress/wordpress-develop/pull/8071.
Follow-up to r10809, r41685, r64331.
Props westonruter, marian1.
See #65817, #65860.
Fixes #62762.
Javascript required