Make WordPress Core


Ignore:
Timestamp:
03/30/2026 05:31:56 AM (5 months ago)
Author:
westonruter
Message:

Code Quality: Replace void with proper return types in union PHPDoc annotations.

In PHP's type system, void means a function does not return a value and cannot be part of a union type. Many functions in core were documented as returning e.g. string|void while actually returning null implicitly via bare return; statements. This replaces void with null in union return types, adds explicit return null; statements, and updates @return annotations across 22 files in wp-includes.

Additionally:

  • Adds @return never for WP_Recovery_Mode::redirect_protected().
  • Fixes WP_Theme_JSON::set_spacing_sizes() to use @return void instead of @return null|void.
  • Removes void from return types where the function always returns a value or dies: remove_theme_support(), WP_Recovery_Mode::handle_error().
  • Fixes wp_die() return type from never|void to void with clarified description.
  • Initializes $primary variable in get_active_blog_for_user() to prevent a possible undefined variable notice.

Developed in https://github.com/WordPress/wordpress-develop/pull/11012

Follow-up to r62177, r61766, r61719.

Props apermo, xateman, westonruter, parthvataliya, nimeshatxecurify.
See #64704.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/wp-includes/class-wp-roles.php

    r61404 r62178  
    172172         * @param array<string,bool>|array<int,string> $capabilities Capabilities to be added to the role.
    173173         *                                                           Default empty array.
    174          * @return WP_Role|void WP_Role object, if the role is added.
     174         * @return WP_Role|null WP_Role object, if the role is added.
    175175         */
    176176        public function add_role( $role, $display_name, $capabilities = array() ) {
    177177                if ( empty( $role ) || isset( $this->roles[ $role ] ) ) {
    178                         return;
     178                        return null;
    179179                }
    180180
Note: See TracChangeset for help on using the changeset viewer.