Commit 4385c7bbec for woocommerce

commit 4385c7bbeca6e72ad8b8cbb79427d598190ad5ef
Author: Michael Pretty <prettyboymp@users.noreply.github.com>
Date:   Wed Feb 11 08:45:48 2026 -0500

    Add @return PHPDoc annotations (batch 4) - reduces baseline by 150 errors (#63173)

    Add @return PHPDoc annotations to reduce PHPStan baseline (batch 4)

    Adds missing @return type annotations to 139 methods/functions across 6 files:
    - class-woocommerce.php (29 methods + 1 code fix)
    - class-wc-emails.php (26 methods)
    - class-wc-product-data-store-cpt.php (23 methods)
    - class-wc-breadcrumb.php (21 methods)
    - class-wc-admin-menus.php (20 methods)
    - wc-core-functions.php (20 functions)

    Also fixes:
    - is_request() method to always return a value (adds default case)
    - WC_Shortcode_My_Account::lost_password() to not return void values

    PHPStan baseline reduction: 16,393 → 16,241 (-152 errors)

    Part of: WOOPRD-2129

    Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>

diff --git a/plugins/woocommerce/changelog/fix-phpstan-return-types-batch-4 b/plugins/woocommerce/changelog/fix-phpstan-return-types-batch-4
new file mode 100644
index 0000000000..a5bc7e1394
--- /dev/null
+++ b/plugins/woocommerce/changelog/fix-phpstan-return-types-batch-4
@@ -0,0 +1,4 @@
+Significance: patch
+Type: dev
+
+Add missing @return PHPDoc annotations to 6 files, reducing PHPStan baseline by 152 errors (batch 4).
diff --git a/plugins/woocommerce/includes/admin/class-wc-admin-menus.php b/plugins/woocommerce/includes/admin/class-wc-admin-menus.php
index d6d345a6b9..f6c27cf4d5 100644
--- a/plugins/woocommerce/includes/admin/class-wc-admin-menus.php
+++ b/plugins/woocommerce/includes/admin/class-wc-admin-menus.php
@@ -80,6 +80,8 @@ class WC_Admin_Menus {

 	/**
 	 * Add menu items.
+	 *
+	 * @return void
 	 */
 	public function admin_menu() {
 		global $menu, $admin_page_hooks;
@@ -101,6 +103,8 @@ class WC_Admin_Menus {

 	/**
 	 * Add menu item.
+	 *
+	 * @return void
 	 */
 	public function reports_menu() {
 		if ( self::can_view_woocommerce_menu_item() ) {
@@ -112,6 +116,8 @@ class WC_Admin_Menus {

 	/**
 	 * Add menu item.
+	 *
+	 * @return void
 	 */
 	public function settings_menu() {
 		$settings_page = add_submenu_page(
@@ -128,6 +134,8 @@ class WC_Admin_Menus {

 	/**
 	 * Check if the user can access the top-level WooCommerce item.
+	 *
+	 * @return bool
 	 */
 	public static function can_view_woocommerce_menu_item() {
 		return current_user_can( 'edit_others_shop_orders' );
@@ -135,6 +143,8 @@ class WC_Admin_Menus {

 	/**
 	 * Loads gateways and shipping methods into memory for use within settings.
+	 *
+	 * @return void
 	 */
 	public function settings_page_init() {
 		WC()->payment_gateways();
@@ -185,6 +195,8 @@ class WC_Admin_Menus {

 	/**
 	 * Add menu item.
+	 *
+	 * @return void
 	 */
 	public function status_menu() {
 		$status_page = add_submenu_page( 'woocommerce', __( 'WooCommerce status', 'woocommerce' ), __( 'Status', 'woocommerce' ), 'manage_woocommerce', 'wc-status', array( $this, 'status_page' ) );
@@ -205,6 +217,8 @@ class WC_Admin_Menus {
 	 * Addons menu item.
 	 *
 	 * @deprecated 10.5.0 The marketplace feature is now always enabled. Use the Extensions menu instead.
+	 *
+	 * @return void
 	 */
 	public function addons_menu() {
 		wc_deprecated_function( __METHOD__, '10.5.0' );
@@ -229,6 +243,8 @@ class WC_Admin_Menus {

 	/**
 	 * Highlights the correct top level admin menu item for post type add screens.
+	 *
+	 * @return void
 	 */
 	public function menu_highlight() {
 		global $parent_file, $submenu_file, $post_type;
@@ -250,6 +266,8 @@ class WC_Admin_Menus {

 	/**
 	 * Adds the order processing count to the menu.
+	 *
+	 * @return void
 	 */
 	public function menu_order_count() {
 		global $submenu;
@@ -324,6 +342,7 @@ class WC_Admin_Menus {
 	 * @param bool|int $status Screen option value. Default false to skip.
 	 * @param string   $option The option name.
 	 * @param int      $value  The number of rows to use.
+	 * @return bool|int
 	 */
 	public function set_screen_option( $status, $option, $value ) {
 		$screen_options = array(
@@ -343,6 +362,8 @@ class WC_Admin_Menus {

 	/**
 	 * Init the reports page.
+	 *
+	 * @return void
 	 */
 	public function reports_page() {
 		WC_Admin_Reports::output();
@@ -350,6 +371,8 @@ class WC_Admin_Menus {

 	/**
 	 * Init the settings page.
+	 *
+	 * @return void
 	 */
 	public function settings_page() {
 		if ( Features::is_enabled( 'settings' ) ) {
@@ -361,6 +384,8 @@ class WC_Admin_Menus {

 	/**
 	 * Init the attributes page.
+	 *
+	 * @return void
 	 */
 	public function attributes_page() {
 		WC_Admin_Attributes::output();
@@ -368,6 +393,8 @@ class WC_Admin_Menus {

 	/**
 	 * Init the status page.
+	 *
+	 * @return void
 	 */
 	public function status_page() {
 		WC_Admin_Status::output();
@@ -375,6 +402,8 @@ class WC_Admin_Menus {

 	/**
 	 * Init the addons page.
+	 *
+	 * @return void
 	 */
 	public function addons_page() {
 		WC_Admin_Addons::handle_legacy_marketplace_redirects();
@@ -397,6 +426,8 @@ class WC_Admin_Menus {
 	 * Add custom nav meta box.
 	 *
 	 * Adapted from http://www.johnmorrisonline.com/how-to-add-a-fully-functional-custom-meta-box-to-wordpress-navigation-menus/.
+	 *
+	 * @return void
 	 */
 	public function add_nav_menu_meta_boxes() {
 		add_meta_box( 'woocommerce_endpoints_nav_link', __( 'WooCommerce endpoints', 'woocommerce' ), array( $this, 'nav_menu_links' ), 'nav-menus', 'side', 'low' );
@@ -404,6 +435,8 @@ class WC_Admin_Menus {

 	/**
 	 * Output menu links.
+	 *
+	 * @return void
 	 */
 	public function nav_menu_links() {
 		// Get items from account menu.
@@ -465,6 +498,7 @@ class WC_Admin_Menus {
 	 *
 	 * @since 2.4.0
 	 * @param WP_Admin_Bar $wp_admin_bar Admin bar instance.
+	 * @return void
 	 */
 	public function admin_bar_menus( $wp_admin_bar ) {
 		if ( ! is_admin() || ! is_admin_bar_showing() ) {
@@ -494,6 +528,8 @@ class WC_Admin_Menus {

 	/**
 	 * Maybe add new management product experience.
+	 *
+	 * @return void
 	 */
 	public function maybe_add_new_product_management_experience() {
 		if ( FeaturesUtil::feature_is_enabled( 'product_block_editor' ) ) {
@@ -550,6 +586,7 @@ class WC_Admin_Menus {
 	 * @param int    $index The position of a submenu item in the submenu array.
 	 * @param string $parent_slug The parent slug.
 	 * @param array  $item The submenu item.
+	 * @return void
 	 */
 	public function hide_submenu_element( $index, $parent_slug, $item ) {
 		global $submenu;
diff --git a/plugins/woocommerce/includes/class-wc-breadcrumb.php b/plugins/woocommerce/includes/class-wc-breadcrumb.php
index 570ca33aa4..31578fd484 100644
--- a/plugins/woocommerce/includes/class-wc-breadcrumb.php
+++ b/plugins/woocommerce/includes/class-wc-breadcrumb.php
@@ -25,6 +25,7 @@ class WC_Breadcrumb {
 	 *
 	 * @param string $name Name.
 	 * @param string $link Link.
+	 * @return void
 	 */
 	public function add_crumb( $name, $link = '' ) {
 		$this->crumbs[] = array(
@@ -35,6 +36,8 @@ class WC_Breadcrumb {

 	/**
 	 * Reset crumbs.
+	 *
+	 * @return void
 	 */
 	public function reset() {
 		$this->crumbs = array();
@@ -91,6 +94,8 @@ class WC_Breadcrumb {

 	/**
 	 * Prepend the shop page to shop breadcrumbs.
+	 *
+	 * @return void
 	 */
 	protected function prepend_shop_page() {
 		$permalinks   = wc_get_permalink_structure();
@@ -105,6 +110,8 @@ class WC_Breadcrumb {

 	/**
 	 * Is home trail..
+	 *
+	 * @return void
 	 */
 	protected function add_crumbs_home() {
 		$this->add_crumb( single_post_title( '', false ) );
@@ -112,6 +119,8 @@ class WC_Breadcrumb {

 	/**
 	 * 404 trail.
+	 *
+	 * @return void
 	 */
 	protected function add_crumbs_404() {
 		$this->add_crumb( __( 'Error 404', 'woocommerce' ) );
@@ -119,6 +128,8 @@ class WC_Breadcrumb {

 	/**
 	 * Attachment trail.
+	 *
+	 * @return void
 	 */
 	protected function add_crumbs_attachment() {
 		global $post;
@@ -132,6 +143,7 @@ class WC_Breadcrumb {
 	 *
 	 * @param int    $post_id   Post ID.
 	 * @param string $permalink Post permalink.
+	 * @return void
 	 */
 	protected function add_crumbs_single( $post_id = 0, $permalink = '' ) {
 		if ( ! $post_id ) {
@@ -183,6 +195,8 @@ class WC_Breadcrumb {

 	/**
 	 * Page trail.
+	 *
+	 * @return void
 	 */
 	protected function add_crumbs_page() {
 		global $post;
@@ -218,6 +232,8 @@ class WC_Breadcrumb {

 	/**
 	 * Product category trail.
+	 *
+	 * @return void
 	 */
 	protected function add_crumbs_product_category() {
 		$current_term = $GLOBALS['wp_query']->get_queried_object();
@@ -229,6 +245,8 @@ class WC_Breadcrumb {

 	/**
 	 * Product tag trail.
+	 *
+	 * @return void
 	 */
 	protected function add_crumbs_product_tag() {
 		$current_term = $GLOBALS['wp_query']->get_queried_object();
@@ -241,6 +259,8 @@ class WC_Breadcrumb {

 	/**
 	 * Shop breadcrumb.
+	 *
+	 * @return void
 	 */
 	protected function add_crumbs_shop() {
 		if ( intval( get_option( 'page_on_front' ) ) === wc_get_page_id( 'shop' ) ) {
@@ -259,6 +279,8 @@ class WC_Breadcrumb {

 	/**
 	 * Post type archive trail.
+	 *
+	 * @return void
 	 */
 	protected function add_crumbs_post_type_archive() {
 		$post_type = get_post_type_object( get_post_type() );
@@ -270,6 +292,8 @@ class WC_Breadcrumb {

 	/**
 	 * Category trail.
+	 *
+	 * @return void
 	 */
 	protected function add_crumbs_category() {
 		$this_category = get_category( $GLOBALS['wp_query']->get_queried_object() );
@@ -287,6 +311,8 @@ class WC_Breadcrumb {

 	/**
 	 * Tag trail.
+	 *
+	 * @return void
 	 */
 	protected function add_crumbs_tag() {
 		$queried_object = $GLOBALS['wp_query']->get_queried_object();
@@ -297,6 +323,8 @@ class WC_Breadcrumb {

 	/**
 	 * Add crumbs for date based archives.
+	 *
+	 * @return void
 	 */
 	protected function add_crumbs_date() {
 		if ( is_year() || is_month() || is_day() ) {
@@ -311,7 +339,9 @@ class WC_Breadcrumb {
 	}

 	/**
-	 * Add crumbs for taxonomies
+	 * Add crumbs for taxonomies.
+	 *
+	 * @return void
 	 */
 	protected function add_crumbs_tax() {
 		$this_term = $GLOBALS['wp_query']->get_queried_object();
@@ -330,6 +360,8 @@ class WC_Breadcrumb {

 	/**
 	 * Add a breadcrumb for author archives.
+	 *
+	 * @return void
 	 */
 	protected function add_crumbs_author() {
 		global $author;
@@ -345,6 +377,7 @@ class WC_Breadcrumb {
 	 *
 	 * @param int    $term_id  Term ID.
 	 * @param string $taxonomy Taxonomy.
+	 * @return void
 	 */
 	protected function term_ancestors( $term_id, $taxonomy ) {
 		$ancestors = get_ancestors( $term_id, $taxonomy );
@@ -361,6 +394,8 @@ class WC_Breadcrumb {

 	/**
 	 * Endpoints.
+	 *
+	 * @return void
 	 */
 	protected function endpoint_trail() {
 		$action         = isset( $_GET['action'] ) ? sanitize_text_field( wp_unslash( $_GET['action'] ) ) : '';
@@ -374,6 +409,8 @@ class WC_Breadcrumb {

 	/**
 	 * Add a breadcrumb for search results.
+	 *
+	 * @return void
 	 */
 	protected function search_trail() {
 		if ( is_search() ) {
@@ -384,6 +421,8 @@ class WC_Breadcrumb {

 	/**
 	 * Add a breadcrumb for pagination.
+	 *
+	 * @return void
 	 */
 	protected function paged_trail() {
 		if ( get_query_var( 'paged' ) && 'subcategories' !== woocommerce_get_loop_display_mode() ) {
diff --git a/plugins/woocommerce/includes/class-wc-emails.php b/plugins/woocommerce/includes/class-wc-emails.php
index cae9c05dd7..3290ff247e 100644
--- a/plugins/woocommerce/includes/class-wc-emails.php
+++ b/plugins/woocommerce/includes/class-wc-emails.php
@@ -65,6 +65,7 @@ class WC_Emails {
 	 * Cloning is forbidden.
 	 *
 	 * @since 2.1
+	 * @return void
 	 */
 	public function __clone() {
 		wc_doing_it_wrong( __FUNCTION__, __( 'Cloning is forbidden.', 'woocommerce' ), '2.1' );
@@ -74,6 +75,7 @@ class WC_Emails {
 	 * Unserializing instances of this class is forbidden.
 	 *
 	 * @since 2.1
+	 * @return void
 	 */
 	public function __wakeup() {
 		wc_doing_it_wrong( __FUNCTION__, __( 'Unserializing instances of this class is forbidden.', 'woocommerce' ), '2.1' );
@@ -81,6 +83,8 @@ class WC_Emails {

 	/**
 	 * Hook in all transactional emails.
+	 *
+	 * @return void
 	 */
 	public static function init_transactional_emails() {
 		/**
@@ -142,6 +146,7 @@ class WC_Emails {
 	 * otherwise falls back to send now.
 	 *
 	 * @param mixed ...$args Optional arguments.
+	 * @return void
 	 */
 	public static function queue_transactional_email( ...$args ) {
 		if ( is_a( self::$background_emailer, 'WC_Background_Emailer' ) ) {
@@ -163,6 +168,7 @@ class WC_Emails {
 	 *
 	 * @param string $filter Filter name.
 	 * @param array  $args Email args (default: []).
+	 * @return void
 	 */
 	public static function send_queued_transactional_email( $filter = '', $args = array() ) {
 		/**
@@ -192,6 +198,7 @@ class WC_Emails {
 	 * @internal
 	 *
 	 * @param array $args Email args (default: []).
+	 * @return void
 	 */
 	public static function send_transactional_email( $args = array() ) {
 		try {
@@ -267,6 +274,8 @@ class WC_Emails {

 	/**
 	 * Init email classes.
+	 *
+	 * @return void
 	 */
 	public function init() {
 		// Include email classes.
@@ -354,6 +363,7 @@ class WC_Emails {
 	 * Get the email header.
 	 *
 	 * @param mixed $email_heading Heading for the email.
+	 * @return void
 	 */
 	public function email_header( $email_heading ) {
 		wc_get_template(
@@ -367,6 +377,8 @@ class WC_Emails {

 	/**
 	 * Get the email footer.
+	 *
+	 * @return void
 	 */
 	public function email_footer() {
 		wc_get_template( 'emails/email-footer.php' );
@@ -475,6 +487,7 @@ class WC_Emails {
 	 * Prepare and send the customer invoice email on demand.
 	 *
 	 * @param int|WC_Order $order Order instance or ID.
+	 * @return void
 	 */
 	public function customer_invoice( $order ) {
 		$email = $this->emails['WC_Email_Customer_Invoice'];
@@ -492,6 +505,7 @@ class WC_Emails {
 	 * @param int   $customer_id        Customer ID.
 	 * @param array $new_customer_data  New customer data.
 	 * @param bool  $password_generated If password is generated.
+	 * @return void
 	 */
 	public function customer_new_account( $customer_id, $new_customer_data = array(), $password_generated = false ) {
 		if ( ! $customer_id ) {
@@ -508,6 +522,7 @@ class WC_Emails {
 	 * @param bool     $sent_to_admin If should sent to admin.
 	 * @param bool     $plain_text    If is plain text email.
 	 * @param string   $email         Email address.
+	 * @return void
 	 */
 	public function order_details( $order, $sent_to_admin = false, $plain_text = false, $email = '' ) {
 		if ( $plain_text ) {
@@ -541,6 +556,7 @@ class WC_Emails {
 	 * @param bool     $sent_to_admin If should sent to admin.
 	 * @param bool     $plain_text    If is plain text email.
 	 * @param string   $email         Email address.
+	 * @return void
 	 */
 	public function order_downloads( $order, $sent_to_admin = false, $plain_text = false, $email = '' ) {
 		$show_downloads = $order->has_downloadable_item() && $order->is_download_permitted() && ! $sent_to_admin && ! is_a( $email, 'WC_Email_Customer_Refunded_Order' );
@@ -602,6 +618,7 @@ class WC_Emails {
 	 * @param WC_Order $order         Order instance.
 	 * @param bool     $sent_to_admin If should sent to admin.
 	 * @param bool     $plain_text    If is plain text email.
+	 * @return void
 	 */
 	public function order_meta( $order, $sent_to_admin = false, $plain_text = false ) {
 		/**
@@ -664,6 +681,7 @@ class WC_Emails {
 	 * @param bool        $sent_to_admin If should sent to admin.
 	 * @param bool        $plain_text    If is plain text email.
 	 * @param string      $email         Email address.
+	 * @return void
 	 */
 	public function fulfillment_details( $order, $fulfillment, $sent_to_admin = false, $plain_text = false, $email = '' ) {
 		if ( $plain_text ) {
@@ -698,6 +716,7 @@ class WC_Emails {
 	 * @param Fulfillment $fulfillment   Fulfillment instance.
 	 * @param bool        $sent_to_admin If should sent to admin.
 	 * @param bool        $plain_text    If is plain text email.
+	 * @return void
 	 */
 	public function fulfillment_meta( $order, $fulfillment, $sent_to_admin = false, $plain_text = false ) {
 		$fields        = $fulfillment->get_meta_data();
@@ -746,6 +765,7 @@ class WC_Emails {
 	 * @param WC_Order $order         Order instance.
 	 * @param bool     $sent_to_admin If should sent to admin.
 	 * @param bool     $plain_text    If is plain text email.
+	 * @return void
 	 */
 	public function customer_details( $order, $sent_to_admin = false, $plain_text = false ) {
 		if ( ! is_a( $order, 'WC_Order' ) ) {
@@ -777,6 +797,7 @@ class WC_Emails {
 	 * @param WC_Order $order         Order instance.
 	 * @param bool     $sent_to_admin If should sent to admin.
 	 * @param bool     $plain_text    If is plain text email.
+	 * @return void
 	 */
 	public function email_addresses( $order, $sent_to_admin = false, $plain_text = false ) {
 		if ( ! is_a( $order, 'WC_Order' ) ) {
@@ -807,6 +828,7 @@ class WC_Emails {
 	 * @param WC_Order $order         Order instance.
 	 * @param bool     $sent_to_admin If email is sent to admin.
 	 * @param bool     $plain_text    If this is a plain text email.
+	 * @return void
 	 */
 	public function additional_checkout_fields( $order, $sent_to_admin = false, $plain_text = false ) {
 		if ( ! is_a( $order, 'WC_Order' ) ) {
@@ -859,6 +881,7 @@ class WC_Emails {
 	 * @param WC_Order $order         Order instance.
 	 * @param bool     $sent_to_admin If email is sent to admin.
 	 * @param bool     $plain_text    If this is a plain text email.
+	 * @return void
 	 */
 	public function additional_address_fields( $address_type, $order, $sent_to_admin = false, $plain_text = false ) {
 		if ( ! is_a( $order, 'WC_Order' ) ) {
@@ -948,6 +971,8 @@ class WC_Emails {

 	/**
 	 * Add email sender filters.
+	 *
+	 * @return void
 	 */
 	private function add_email_sender_filters() {
 		add_filter( 'wp_mail_from', array( $this, 'get_from_address' ) );
@@ -956,6 +981,8 @@ class WC_Emails {

 	/**
 	 * Remove email sender filters.
+	 *
+	 * @return void
 	 */
 	private function remove_email_sender_filters() {
 		remove_filter( 'wp_mail_from', array( $this, 'get_from_address' ) );
@@ -966,6 +993,7 @@ class WC_Emails {
 	 * Low stock notification email.
 	 *
 	 * @param WC_Product $product Product instance.
+	 * @return void
 	 */
 	public function low_stock( $product ) {
 		if ( 'no' === get_option( 'woocommerce_notify_low_stock', 'yes' ) ) {
@@ -1056,6 +1084,7 @@ class WC_Emails {
 	 * No stock notification email.
 	 *
 	 * @param WC_Product $product Product instance.
+	 * @return void
 	 */
 	public function no_stock( $product ) {
 		if ( 'no' === get_option( 'woocommerce_notify_no_stock', 'yes' ) ) {
@@ -1142,6 +1171,7 @@ class WC_Emails {
 	 * Backorder notification email.
 	 *
 	 * @param array $args Arguments.
+	 * @return void
 	 */
 	public function backorder( $args ) {
 		$args = wp_parse_args(
@@ -1233,6 +1263,7 @@ class WC_Emails {
 	 * @param WC_Order $order         Order instance.
 	 * @param bool     $sent_to_admin If should sent to admin.
 	 * @param bool     $plain_text    If is plain text email.
+	 * @return void
 	 */
 	public function order_schema_markup( $order, $sent_to_admin = false, $plain_text = false ) {
 		wc_deprecated_function( 'WC_Emails::order_schema_markup', '3.0', 'WC_Structured_Data::generate_order_data' );
diff --git a/plugins/woocommerce/includes/class-woocommerce.php b/plugins/woocommerce/includes/class-woocommerce.php
index 4f104cd65c..b2106ab2ed 100644
--- a/plugins/woocommerce/includes/class-woocommerce.php
+++ b/plugins/woocommerce/includes/class-woocommerce.php
@@ -171,6 +171,8 @@ final class WooCommerce {
 	 * Cloning is forbidden.
 	 *
 	 * @since 2.1
+	 *
+	 * @return void
 	 */
 	public function __clone() {
 		wc_doing_it_wrong( __FUNCTION__, __( 'Cloning is forbidden.', 'woocommerce' ), '2.1' );
@@ -180,6 +182,8 @@ final class WooCommerce {
 	 * Unserializing instances of this class is forbidden.
 	 *
 	 * @since 2.1
+	 *
+	 * @return void
 	 */
 	public function __wakeup() {
 		wc_doing_it_wrong( __FUNCTION__, __( 'Unserializing instances of this class is forbidden.', 'woocommerce' ), '2.1' );
@@ -217,6 +221,8 @@ final class WooCommerce {
 	 * @param string $key Property name.
 	 * @param mixed  $value Property value.
 	 * @throws Exception Attempt to access a property that's private or protected.
+	 *
+	 * @return void
 	 */
 	public function __set( string $key, $value ) {
 		if ( 'api' === $key ) {
@@ -266,6 +272,8 @@ final class WooCommerce {
 	 * the load order. See #21524 for details.
 	 *
 	 * @since 3.6.0
+	 *
+	 * @return void
 	 */
 	public function on_plugins_loaded() {
 		/**
@@ -298,6 +306,8 @@ final class WooCommerce {
 	 * Hook into actions and filters.
 	 *
 	 * @since 2.3
+	 *
+	 * @return void
 	 */
 	private function init_hooks() {
 		register_activation_hook( WC_PLUGIN_FILE, array( 'WC_Install', 'install' ) );
@@ -411,6 +421,8 @@ final class WooCommerce {
 	 *
 	 * This will no longer be used. The more flexible add_woocommerce_remote_variant
 	 * below will be used instead.
+	 *
+	 * @return void
 	 */
 	public function add_woocommerce_inbox_variant() {
 		$config_name = 'woocommerce_inbox_variant_assignment';
@@ -422,6 +434,8 @@ final class WooCommerce {
 	/**
 	 * Add woocommerce_remote_variant_assignment used to determine cohort
 	 * or group assignment for Remote Spec Engines.
+	 *
+	 * @return void
 	 */
 	public function add_woocommerce_remote_variant() {
 		$config_name = 'woocommerce_remote_variant_assignment';
@@ -434,6 +448,8 @@ final class WooCommerce {
 	 * Ensures fatal errors are logged so they can be picked up in the status report.
 	 *
 	 * @since 3.2.0
+	 *
+	 * @return void
 	 */
 	public function log_errors() {
 		$error = error_get_last();
@@ -482,6 +498,8 @@ final class WooCommerce {
 	 *
 	 * IMPORTANT: When adding new constants here, also add them to
 	 * php-stubs/wc-constants.php for PHPStan static analysis.
+	 *
+	 * @return void
 	 */
 	private function define_constants() {
 		$this->define( 'WC_ABSPATH', dirname( WC_PLUGIN_FILE ) . '/' );
@@ -526,6 +544,8 @@ final class WooCommerce {

 	/**
 	 * Register custom tables within $wpdb object.
+	 *
+	 * @return void
 	 */
 	private function define_tables() {
 		global $wpdb;
@@ -552,6 +572,8 @@ final class WooCommerce {
 	 *
 	 * @param string      $name  Constant name.
 	 * @param string|bool $value Constant value.
+	 *
+	 * @return void
 	 */
 	private function define( $name, $value ) {
 		if ( ! defined( $name ) ) {
@@ -599,6 +621,8 @@ final class WooCommerce {

 	/**
 	 * Load REST API.
+	 *
+	 * @return void
 	 */
 	public function load_rest_api() {
 		\Automattic\WooCommerce\RestApi\Server::instance()->init();
@@ -620,11 +644,15 @@ final class WooCommerce {
 				return defined( 'DOING_CRON' );
 			case 'frontend':
 				return ( ! is_admin() || defined( 'DOING_AJAX' ) ) && ! defined( 'DOING_CRON' ) && ! $this->is_rest_api_request();
+			default:
+				return false;
 		}
 	}

 	/**
 	 * Include required core files used in admin and on the frontend.
+	 *
+	 * @return void
 	 */
 	public function includes() {
 		/**
@@ -809,6 +837,8 @@ final class WooCommerce {
 	 * Include classes for theme support.
 	 *
 	 * @since 3.3.0
+	 *
+	 * @return void
 	 */
 	private function theme_support_includes() {
 		if ( wc_is_wp_default_theme_active() ) {
@@ -858,6 +888,8 @@ final class WooCommerce {

 	/**
 	 * Include required frontend files.
+	 *
+	 * @return void
 	 */
 	public function frontend_includes() {
 		include_once WC_ABSPATH . 'includes/wc-cart-functions.php';
@@ -876,6 +908,8 @@ final class WooCommerce {

 	/**
 	 * Function used to Init WooCommerce Template Functions - This makes them pluggable by plugins and themes.
+	 *
+	 * @return void
 	 */
 	public function include_template_functions() {
 		include_once WC_ABSPATH . 'includes/wc-template-functions.php';
@@ -883,6 +917,8 @@ final class WooCommerce {

 	/**
 	 * Init WooCommerce when WordPress Initialises.
+	 *
+	 * @return void
 	 */
 	public function init() {
 		// See the comment inside FeaturesController::__construct.
@@ -926,6 +962,8 @@ final class WooCommerce {
 	 * Locales found in:
 	 *      - WP_LANG_DIR/woocommerce/woocommerce-LOCALE.mo
 	 *      - WP_LANG_DIR/plugins/woocommerce-LOCALE.mo
+	 *
+	 * @return void
 	 */
 	public function load_plugin_textdomain() {
 		/**
@@ -947,6 +985,8 @@ final class WooCommerce {

 	/**
 	 * Ensure theme and server variable compatibility and setup image sizes.
+	 *
+	 * @return void
 	 */
 	public function setup_environment() {
 		/**
@@ -961,6 +1001,8 @@ final class WooCommerce {

 	/**
 	 * Ensure post thumbnail support is turned on.
+	 *
+	 * @return void
 	 */
 	private function add_thumbnail_support() {
 		if ( ! current_theme_supports( 'post-thumbnails' ) ) {
@@ -982,6 +1024,8 @@ final class WooCommerce {
 	 * woocommerce_single - Used on single product pages for the main image.
 	 *
 	 * @since 2.3
+	 *
+	 * @return void
 	 */
 	public function add_image_sizes() {
 		$thumbnail         = wc_get_image_size( 'thumbnail' );
@@ -1066,6 +1110,8 @@ final class WooCommerce {
 	 * Load & enqueue active webhooks.
 	 *
 	 * @since 2.2
+	 *
+	 * @return void
 	 */
 	private function load_webhooks() {

@@ -1163,6 +1209,8 @@ final class WooCommerce {

 	/**
 	 * Set tablenames inside WPDB object.
+	 *
+	 * @return void
 	 */
 	public function wpdb_table_fix() {
 		$this->define_tables();
@@ -1173,6 +1221,8 @@ final class WooCommerce {
 	 *
 	 * @since 3.6.0
 	 * @param string $filename The filename of the activated plugin.
+	 *
+	 * @return void
 	 */
 	public function activated_plugin( $filename ) {
 		include_once __DIR__ . '/admin/helper/class-wc-helper.php';
@@ -1189,6 +1239,8 @@ final class WooCommerce {
 	 *
 	 * @since 3.6.0
 	 * @param string $filename The filename of the deactivated plugin.
+	 *
+	 * @return void
 	 */
 	public function deactivated_plugin( $filename ) {
 		include_once __DIR__ . '/admin/helper/class-wc-helper.php';
@@ -1364,6 +1416,8 @@ final class WooCommerce {
 	 * @since 9.0.0
 	 *
 	 * @internal For exclusive usage of WooCommerce core, backwards compatibility not guaranteed.
+	 *
+	 * @return void
 	 */
 	public function register_wp_admin_settings() {
 		$pages = WC_Admin_Settings::get_settings_pages();
@@ -1539,6 +1593,8 @@ final class WooCommerce {

 	/**
 	 * Register recurring actions.
+	 *
+	 * @return void
 	 */
 	public function register_recurring_actions() {
 		// Remove any unwrapped actions that may have been scheduled before scheduling the new wrapped ones.
@@ -1658,6 +1714,8 @@ final class WooCommerce {
 	 *
 	 * @internal
 	 * @see https://github.com/woocommerce/woocommerce/issues/58364
+	 *
+	 * @return void
 	 */
 	public function init_customizer() {
 		global $pagenow;
diff --git a/plugins/woocommerce/includes/data-stores/class-wc-product-data-store-cpt.php b/plugins/woocommerce/includes/data-stores/class-wc-product-data-store-cpt.php
index 672ec41315..fb7101aac3 100644
--- a/plugins/woocommerce/includes/data-stores/class-wc-product-data-store-cpt.php
+++ b/plugins/woocommerce/includes/data-stores/class-wc-product-data-store-cpt.php
@@ -196,6 +196,7 @@ class WC_Product_Data_Store_CPT extends WC_Data_Store_WP implements WC_Object_Da
 	 *
 	 * @param WC_Product $product Product object.
 	 * @throws Exception If SKU is already under processing.
+	 * @return void
 	 */
 	public function create( &$product ) {
 		if ( ! $product->get_date_created( 'edit' ) ) {
@@ -267,6 +268,7 @@ class WC_Product_Data_Store_CPT extends WC_Data_Store_WP implements WC_Object_Da
 	 *
 	 * @param WC_Product $product Product object.
 	 * @throws Exception If invalid product.
+	 * @return void
 	 */
 	public function read( &$product ) {
 		$product->set_defaults();
@@ -315,6 +317,7 @@ class WC_Product_Data_Store_CPT extends WC_Data_Store_WP implements WC_Object_Da
 	 * Method to update a product in the database.
 	 *
 	 * @param WC_Product $product Product object.
+	 * @return void
 	 */
 	public function update( &$product ) {
 		$product->save_meta_data();
@@ -438,6 +441,7 @@ class WC_Product_Data_Store_CPT extends WC_Data_Store_WP implements WC_Object_Da
 	 *
 	 * @param WC_Product $product Product object.
 	 * @since 3.0.0
+	 * @return void
 	 */
 	protected function read_product_data( &$product ) {
 		$id                = $product->get_id();
@@ -502,6 +506,7 @@ class WC_Product_Data_Store_CPT extends WC_Data_Store_WP implements WC_Object_Da
 	 * Load the Cost of Goods Sold related data for a given product.
 	 *
 	 * @param WC_Product $product The product to apply the loaded data to.
+	 * @return void
 	 */
 	protected function load_cogs_data( $product ) {
 		$cogs_value = get_post_meta( $product->get_id(), '_cogs_total_value', true );
@@ -525,6 +530,7 @@ class WC_Product_Data_Store_CPT extends WC_Data_Store_WP implements WC_Object_Da
 	 *
 	 * @param WC_Product $product Product object.
 	 * @param int|float  $new_stock New stock level if already read.
+	 * @return void
 	 */
 	public function read_stock_quantity( &$product, $new_stock = null ) {
 		$object_read = $product->get_object_read();
@@ -538,6 +544,7 @@ class WC_Product_Data_Store_CPT extends WC_Data_Store_WP implements WC_Object_Da
 	 *
 	 * @param WC_Product $product Product object.
 	 * @since 3.0.0
+	 * @return void
 	 */
 	protected function read_extra_data( &$product ) {
 		foreach ( $product->get_extra_data_keys() as $key ) {
@@ -554,6 +561,7 @@ class WC_Product_Data_Store_CPT extends WC_Data_Store_WP implements WC_Object_Da
 	 *
 	 * @param WC_Product $product Product object.
 	 * @since 3.0.0
+	 * @return void
 	 */
 	protected function read_visibility( &$product ) {
 		$terms           = get_the_terms( $product->get_id(), 'product_visibility' );
@@ -584,6 +592,7 @@ class WC_Product_Data_Store_CPT extends WC_Data_Store_WP implements WC_Object_Da
 	 * Read attributes from post meta.
 	 *
 	 * @param WC_Product $product Product object.
+	 * @return void
 	 */
 	protected function read_attributes( &$product ) {
 		$product_id      = $product->get_id();
@@ -644,6 +653,7 @@ class WC_Product_Data_Store_CPT extends WC_Data_Store_WP implements WC_Object_Da
 	 *
 	 * @param WC_Product $product Product object.
 	 * @since 3.0.0
+	 * @return void
 	 */
 	protected function read_downloads( &$product ) {
 		$meta_values = array_filter( (array) get_post_meta( $product->get_id(), '_downloadable_files', true ) );
@@ -690,6 +700,7 @@ class WC_Product_Data_Store_CPT extends WC_Data_Store_WP implements WC_Object_Da
 	 * @param WC_Product $product Product object.
 	 * @param bool       $force Force update. Used during create.
 	 * @since 3.0.0
+	 * @return void
 	 */
 	protected function update_post_meta( &$product, $force = false ) {
 		$meta_key_to_props = array(
@@ -836,6 +847,7 @@ class WC_Product_Data_Store_CPT extends WC_Data_Store_WP implements WC_Object_Da
 	 *
 	 * @since 3.0.0
 	 * @param WC_Product $product Product Object.
+	 * @return void
 	 */
 	protected function handle_updated_props( &$product ) {
 		$price_is_synced = $product->is_type( array( ProductType::VARIABLE, ProductType::GROUPED ) );
@@ -936,6 +948,7 @@ class WC_Product_Data_Store_CPT extends WC_Data_Store_WP implements WC_Object_Da
 	 * @param WC_Product $product Product object.
 	 * @param bool       $force Force update. Used during create.
 	 * @since 3.0.0
+	 * @return void
 	 */
 	protected function update_terms( &$product, $force = false ) {
 		$changes = $product->get_changes();
@@ -967,6 +980,7 @@ class WC_Product_Data_Store_CPT extends WC_Data_Store_WP implements WC_Object_Da
 	 *
 	 * @param WC_Product $product Product object.
 	 * @param bool       $force Force update. Used during create.
+	 * @return void
 	 */
 	protected function update_visibility( &$product, $force = false ) {
 		$changes = $product->get_changes();
@@ -1013,6 +1027,7 @@ class WC_Product_Data_Store_CPT extends WC_Data_Store_WP implements WC_Object_Da
 	 * @param WC_Product $product Product object.
 	 * @param bool       $force Force update. Used during create.
 	 * @since 3.0.0
+	 * @return void
 	 */
 	protected function update_attributes( &$product, $force = false ) {
 		$changes = $product->get_changes();
@@ -1107,6 +1122,7 @@ class WC_Product_Data_Store_CPT extends WC_Data_Store_WP implements WC_Object_Da
 	 *
 	 * @param WC_Product $product Product object.
 	 * @since 3.0.0
+	 * @return void
 	 */
 	protected function update_version_and_type( &$product ) {
 		$old_type = WC_Product_Factory::get_product_type( $product->get_id() );
@@ -1127,6 +1143,7 @@ class WC_Product_Data_Store_CPT extends WC_Data_Store_WP implements WC_Object_Da
 	 *
 	 * @param WC_Product $product Product object.
 	 * @since 3.0.0
+	 * @return void
 	 */
 	protected function clear_caches( &$product ) {
 		wc_delete_product_transients( $product->get_id() );
@@ -1587,6 +1604,7 @@ class WC_Product_Data_Store_CPT extends WC_Data_Store_WP implements WC_Object_Da
 	 * Make sure all variations have a sort order set so they can be reordered correctly.
 	 *
 	 * @param int $parent_id Product ID.
+	 * @return void
 	 */
 	public function sort_all_product_variations( $parent_id ) {
 		global $wpdb;
@@ -1699,6 +1717,7 @@ class WC_Product_Data_Store_CPT extends WC_Data_Store_WP implements WC_Object_Da
 	 *
 	 * @param int            $product_id_with_stock Product ID.
 	 * @param int|float|null $stock_quantity        Stock quantity.
+	 * @return void
 	 */
 	protected function set_product_stock( $product_id_with_stock, $stock_quantity ) {
 		global $wpdb;
@@ -1809,6 +1828,7 @@ class WC_Product_Data_Store_CPT extends WC_Data_Store_WP implements WC_Object_Da
 	 * @param  int      $product_id Product ID.
 	 * @param  int|null $quantity Quantity.
 	 * @param  string   $operation set, increase and decrease.
+	 * @return void
 	 */
 	public function update_product_sales( $product_id, $quantity = null, $operation = 'set' ) {
 		global $wpdb;
@@ -1867,6 +1887,7 @@ class WC_Product_Data_Store_CPT extends WC_Data_Store_WP implements WC_Object_Da
 	 * @since 3.0.0
 	 * @todo Deprecate unused function?
 	 * @param WC_Product $product Product object.
+	 * @return void
 	 */
 	public function update_average_rating( $product ) {
 		update_post_meta( $product->get_id(), '_wc_average_rating', $product->get_average_rating( 'edit' ) );
@@ -1879,6 +1900,7 @@ class WC_Product_Data_Store_CPT extends WC_Data_Store_WP implements WC_Object_Da
 	 * @since 3.0.0
 	 * @todo Deprecate unused function?
 	 * @param WC_Product $product Product object.
+	 * @return void
 	 */
 	public function update_review_count( $product ) {
 		update_post_meta( $product->get_id(), '_wc_review_count', $product->get_review_count( 'edit' ) );
@@ -1890,6 +1912,7 @@ class WC_Product_Data_Store_CPT extends WC_Data_Store_WP implements WC_Object_Da
 	 * @since 3.0.0
 	 * @todo Deprecate unused function?
 	 * @param WC_Product $product Product object.
+	 * @return void
 	 */
 	public function update_rating_counts( $product ) {
 		update_post_meta( $product->get_id(), '_wc_rating_count', $product->get_rating_counts( 'edit' ) );
diff --git a/plugins/woocommerce/includes/shortcodes/class-wc-shortcode-my-account.php b/plugins/woocommerce/includes/shortcodes/class-wc-shortcode-my-account.php
index 899e6ea65a..f24a2c6ade 100644
--- a/plugins/woocommerce/includes/shortcodes/class-wc-shortcode-my-account.php
+++ b/plugins/woocommerce/includes/shortcodes/class-wc-shortcode-my-account.php
@@ -237,7 +237,8 @@ class WC_Shortcode_My_Account {
 		 * After sending the reset link, don't show the form again.
 		 */
 		if ( ! empty( $_GET['reset-link-sent'] ) ) { // WPCS: input var ok, CSRF ok.
-			return wc_get_template( 'myaccount/lost-password-confirmation.php' );
+			wc_get_template( 'myaccount/lost-password-confirmation.php' );
+			return;

 			/**
 			 * Process reset key / login from email confirmation link
@@ -251,13 +252,14 @@ class WC_Shortcode_My_Account {

 				// Reset key / login is correct, display reset password form with hidden key / login values.
 				if ( is_object( $user ) ) {
-					return wc_get_template(
+					wc_get_template(
 						'myaccount/form-reset-password.php',
 						array(
 							'key'   => $rp_key,
 							'login' => $rp_login,
 						)
 					);
+					return;
 				}
 			}
 		}
diff --git a/plugins/woocommerce/includes/wc-core-functions.php b/plugins/woocommerce/includes/wc-core-functions.php
index 31ac208216..5ee994e06f 100644
--- a/plugins/woocommerce/includes/wc-core-functions.php
+++ b/plugins/woocommerce/includes/wc-core-functions.php
@@ -68,6 +68,7 @@ add_filter( 'woocommerce_short_description', array( $GLOBALS['wp_embed'], 'run_s
  * @since 3.0.0
  * @param string $name  Constant name.
  * @param mixed  $value Value.
+ * @return void
  */
 function wc_maybe_define_constant( $name, $value ) {
 	if ( ! defined( $name ) ) {
@@ -240,6 +241,7 @@ function wc_get_path_define_tokens() {
  *
  * @param mixed  $slug Template slug.
  * @param string $name Template name (default: '').
+ * @return void
  */
 function wc_get_template_part( $slug, $name = '' ) {
 	$cache_key = sanitize_key( implode( '-', array( 'template-part', $slug, $name, Constants::get_constant( 'WC_VERSION' ) ) ) );
@@ -294,6 +296,7 @@ function wc_get_template_part( $slug, $name = '' ) {
  * @param array  $args          Arguments. (default: array).
  * @param string $template_path Template path. (default: '').
  * @param string $default_path  Default path. (default: '').
+ * @return void
  */
 function wc_get_template( $template_name, $args = array(), $template_path = '', $default_path = '' ) {
 	$cache_key = sanitize_key( implode( '-', array( 'template', $template_name, $template_path, $default_path, Constants::get_constant( 'WC_VERSION' ) ) ) );
@@ -439,6 +442,7 @@ function wc_locate_template( $template_name, $template_path = '', $default_path
  * @since 4.3.0
  * @param string $cache_key Object cache key.
  * @param string $template Located template.
+ * @return void
  */
 function wc_set_template_cache( $cache_key, $template ) {
 	wp_cache_set( $cache_key, $template, 'woocommerce' );
@@ -457,6 +461,7 @@ function wc_set_template_cache( $cache_key, $template ) {
  * Clear the template cache.
  *
  * @since 4.3.0
+ * @return void
  */
 function wc_clear_template_cache() {
 	$cached_templates = wp_cache_get( 'cached_templates', 'woocommerce' );
@@ -473,6 +478,7 @@ function wc_clear_template_cache() {
  * Clear the system status theme info cache.
  *
  * @since 9.4.0
+ * @return void
  */
 function wc_clear_system_status_theme_info_cache() {
 	delete_transient( 'wc_system_status_theme_info' );
@@ -856,6 +862,7 @@ function wc_get_image_size( $image_size ) {
  * Queue some JavaScript code to be output in the footer.
  *
  * @param string $code Code.
+ * @return void
  *
  * @deprecated 10.4.0 Use wp_add_inline_script() instead.
  */
@@ -873,6 +880,8 @@ function wc_enqueue_js( $code ) {

 /**
  * Output any queued javascript code in the footer.
+ *
+ * @return void
  */
 function wc_print_js() {
 	global $wc_queued_js;
@@ -905,6 +914,7 @@ function wc_print_js() {
  * @param  integer $expire Expiry of the cookie.
  * @param  bool    $secure Whether the cookie should be served only over https.
  * @param  bool    $httponly Whether the cookie is only accessible over HTTP, not scripting languages like JavaScript. @since 3.6.0.
+ * @return void
  */
 function wc_setcookie( $name, $value, $expire = 0, $secure = false, $httponly = false ) {
 	/**
@@ -994,6 +1004,8 @@ function wc_get_page_children( $page_id ) {

 /**
  * Flushes rewrite rules when the shop page (or it's children) gets saved.
+ *
+ * @return void
  */
 function flush_rewrite_rules_on_shop_page_save() {
 	$screen    = get_current_screen();
@@ -1354,6 +1366,7 @@ function wc_array_cartesian( $input ) {
  * @since 2.5.0
  * @param string $type Types: start (default), commit, rollback.
  * @param bool   $force use of transactions.
+ * @return void
  */
 function wc_transaction_query( $type = 'start', $force = false ) {
 	global $wpdb;
@@ -1428,6 +1441,7 @@ function wc_get_checkout_url() {
  *
  * @since 1.5.7
  * @param string|object $shipping_method class name (string) or a class object.
+ * @return void
  */
 function woocommerce_register_shipping_method( $shipping_method ) {
 	WC()->shipping()->register_shipping_method( $shipping_method );
@@ -1486,6 +1500,7 @@ function wc_get_credit_card_type_label( $type ) {
  *
  * @param string $label Title of the page to return to.
  * @param string $url   URL of the page to return to.
+ * @return void
  */
 function wc_back_link( $label, $url ) {
 	echo '<small class="wc-admin-breadcrumb"><a href="' . esc_url( $url ) . '" aria-label="' . esc_attr( $label ) . '">&#x2934;&#xfe0e;</a></small>';
@@ -1497,6 +1512,7 @@ function wc_back_link( $label, $url ) {
  * @param string $title Title of the current page.
  * @param string $label Label of the page to return to.
  * @param string $url   URL of the page to return to.
+ * @return void
  */
 function wc_back_header( $title, $label, $url ) {
 	$arrow = is_rtl() ? 'dashicons-arrow-right-alt2' : 'dashicons-arrow-left-alt2';
@@ -1691,6 +1707,7 @@ function wc_get_shipping_method_count( $include_legacy = false, $enabled_only =
  *
  * @since 2.6.0
  * @param int $limit Time limit.
+ * @return void
  */
 function wc_set_time_limit( $limit = 0 ) {
 	if ( function_exists( 'set_time_limit' ) && false === strpos( ini_get( 'disable_functions' ), 'set_time_limit' ) && ! ini_get( 'safe_mode' ) ) { // phpcs:ignore PHPCompatibility.IniDirectives.RemovedIniDirectives.safe_modeDeprecatedRemoved
@@ -1702,6 +1719,7 @@ function wc_set_time_limit( $limit = 0 ) {
  * Wrapper for nocache_headers which also disables page caching.
  *
  * @since 3.2.4
+ * @return void
  */
 function wc_nocache_headers() {
 	WC_Cache_Helper::set_nocache_constants();
@@ -1999,6 +2017,7 @@ function wc_get_logger() {
  * Trigger logging cleanup using the logging class.
  *
  * @since 3.4.0
+ * @return void
  */
 function wc_cleanup_logs() {
 	$logger = wc_get_logger();
@@ -2145,6 +2164,7 @@ function wc_get_permalink_structure() {
  * Switch WooCommerce to site language.
  *
  * @since 3.1.0
+ * @return void
  */
 function wc_switch_to_site_locale() {
 	global $wp_locale_switcher;
@@ -2164,6 +2184,7 @@ function wc_switch_to_site_locale() {
  * Switch WooCommerce language to original.
  *
  * @since 3.1.0
+ * @return void
  */
 function wc_restore_locale() {
 	global $wp_locale_switcher;
@@ -2382,6 +2403,7 @@ function wc_is_wp_default_theme_active() {
  * Cleans up session data - cron callback.
  *
  * @since 3.3.0
+ * @return void
  */
 function wc_cleanup_session_data() {
 	$session_class = apply_filters( 'woocommerce_session_handler', 'WC_Session_Handler' );
diff --git a/plugins/woocommerce/phpstan-baseline.neon b/plugins/woocommerce/phpstan-baseline.neon
index 3f7a933f93..1242a5475a 100644
--- a/plugins/woocommerce/phpstan-baseline.neon
+++ b/plugins/woocommerce/phpstan-baseline.neon
@@ -2286,126 +2286,6 @@ parameters:
 			count: 1
 			path: includes/admin/class-wc-admin-menus.php

-		-
-			message: '#^Method WC_Admin_Menus\:\:add_nav_menu_meta_boxes\(\) has no return type specified\.$#'
-			identifier: missingType.return
-			count: 1
-			path: includes/admin/class-wc-admin-menus.php
-
-		-
-			message: '#^Method WC_Admin_Menus\:\:addons_menu\(\) has no return type specified\.$#'
-			identifier: missingType.return
-			count: 1
-			path: includes/admin/class-wc-admin-menus.php
-
-		-
-			message: '#^Method WC_Admin_Menus\:\:addons_page\(\) has no return type specified\.$#'
-			identifier: missingType.return
-			count: 1
-			path: includes/admin/class-wc-admin-menus.php
-
-		-
-			message: '#^Method WC_Admin_Menus\:\:admin_bar_menus\(\) has no return type specified\.$#'
-			identifier: missingType.return
-			count: 1
-			path: includes/admin/class-wc-admin-menus.php
-
-		-
-			message: '#^Method WC_Admin_Menus\:\:admin_menu\(\) has no return type specified\.$#'
-			identifier: missingType.return
-			count: 1
-			path: includes/admin/class-wc-admin-menus.php
-
-		-
-			message: '#^Method WC_Admin_Menus\:\:attributes_page\(\) has no return type specified\.$#'
-			identifier: missingType.return
-			count: 1
-			path: includes/admin/class-wc-admin-menus.php
-
-		-
-			message: '#^Method WC_Admin_Menus\:\:can_view_woocommerce_menu_item\(\) has no return type specified\.$#'
-			identifier: missingType.return
-			count: 1
-			path: includes/admin/class-wc-admin-menus.php
-
-		-
-			message: '#^Method WC_Admin_Menus\:\:hide_submenu_element\(\) has no return type specified\.$#'
-			identifier: missingType.return
-			count: 1
-			path: includes/admin/class-wc-admin-menus.php
-
-		-
-			message: '#^Method WC_Admin_Menus\:\:maybe_add_new_product_management_experience\(\) has no return type specified\.$#'
-			identifier: missingType.return
-			count: 1
-			path: includes/admin/class-wc-admin-menus.php
-
-		-
-			message: '#^Method WC_Admin_Menus\:\:menu_highlight\(\) has no return type specified\.$#'
-			identifier: missingType.return
-			count: 1
-			path: includes/admin/class-wc-admin-menus.php
-
-		-
-			message: '#^Method WC_Admin_Menus\:\:menu_order_count\(\) has no return type specified\.$#'
-			identifier: missingType.return
-			count: 1
-			path: includes/admin/class-wc-admin-menus.php
-
-		-
-			message: '#^Method WC_Admin_Menus\:\:nav_menu_links\(\) has no return type specified\.$#'
-			identifier: missingType.return
-			count: 1
-			path: includes/admin/class-wc-admin-menus.php
-
-		-
-			message: '#^Method WC_Admin_Menus\:\:reports_menu\(\) has no return type specified\.$#'
-			identifier: missingType.return
-			count: 1
-			path: includes/admin/class-wc-admin-menus.php
-
-		-
-			message: '#^Method WC_Admin_Menus\:\:reports_page\(\) has no return type specified\.$#'
-			identifier: missingType.return
-			count: 1
-			path: includes/admin/class-wc-admin-menus.php
-
-		-
-			message: '#^Method WC_Admin_Menus\:\:set_screen_option\(\) has no return type specified\.$#'
-			identifier: missingType.return
-			count: 1
-			path: includes/admin/class-wc-admin-menus.php
-
-		-
-			message: '#^Method WC_Admin_Menus\:\:settings_menu\(\) has no return type specified\.$#'
-			identifier: missingType.return
-			count: 1
-			path: includes/admin/class-wc-admin-menus.php
-
-		-
-			message: '#^Method WC_Admin_Menus\:\:settings_page\(\) has no return type specified\.$#'
-			identifier: missingType.return
-			count: 1
-			path: includes/admin/class-wc-admin-menus.php
-
-		-
-			message: '#^Method WC_Admin_Menus\:\:settings_page_init\(\) has no return type specified\.$#'
-			identifier: missingType.return
-			count: 1
-			path: includes/admin/class-wc-admin-menus.php
-
-		-
-			message: '#^Method WC_Admin_Menus\:\:status_menu\(\) has no return type specified\.$#'
-			identifier: missingType.return
-			count: 1
-			path: includes/admin/class-wc-admin-menus.php
-
-		-
-			message: '#^Method WC_Admin_Menus\:\:status_page\(\) has no return type specified\.$#'
-			identifier: missingType.return
-			count: 1
-			path: includes/admin/class-wc-admin-menus.php
-
 		-
 			message: '#^Parameter \#1 \$text of function esc_attr expects string, int\<min, \-1\> given\.$#'
 			identifier: argument.type
@@ -9810,132 +9690,6 @@ parameters:
 			count: 1
 			path: includes/class-wc-breadcrumb.php

-		-
-			message: '#^Method WC_Breadcrumb\:\:add_crumb\(\) has no return type specified\.$#'
-			identifier: missingType.return
-			count: 1
-			path: includes/class-wc-breadcrumb.php
-
-		-
-			message: '#^Method WC_Breadcrumb\:\:add_crumbs_404\(\) has no return type specified\.$#'
-			identifier: missingType.return
-			count: 1
-			path: includes/class-wc-breadcrumb.php
-
-		-
-			message: '#^Method WC_Breadcrumb\:\:add_crumbs_attachment\(\) has no return type specified\.$#'
-			identifier: missingType.return
-			count: 1
-			path: includes/class-wc-breadcrumb.php
-
-		-
-			message: '#^Method WC_Breadcrumb\:\:add_crumbs_author\(\) has no return type specified\.$#'
-			identifier: missingType.return
-			count: 1
-			path: includes/class-wc-breadcrumb.php
-
-		-
-			message: '#^Method WC_Breadcrumb\:\:add_crumbs_category\(\) has no return type specified\.$#'
-			identifier: missingType.return
-			count: 1
-			path: includes/class-wc-breadcrumb.php
-
-		-
-			message: '#^Method WC_Breadcrumb\:\:add_crumbs_date\(\) has no return type specified\.$#'
-			identifier: missingType.return
-			count: 1
-			path: includes/class-wc-breadcrumb.php
-
-		-
-			message: '#^Method WC_Breadcrumb\:\:add_crumbs_home\(\) has no return type specified\.$#'
-			identifier: missingType.return
-			count: 1
-			path: includes/class-wc-breadcrumb.php
-
-		-
-			message: '#^Method WC_Breadcrumb\:\:add_crumbs_page\(\) has no return type specified\.$#'
-			identifier: missingType.return
-			count: 1
-			path: includes/class-wc-breadcrumb.php
-
-		-
-			message: '#^Method WC_Breadcrumb\:\:add_crumbs_post_type_archive\(\) has no return type specified\.$#'
-			identifier: missingType.return
-			count: 1
-			path: includes/class-wc-breadcrumb.php
-
-		-
-			message: '#^Method WC_Breadcrumb\:\:add_crumbs_product_category\(\) has no return type specified\.$#'
-			identifier: missingType.return
-			count: 1
-			path: includes/class-wc-breadcrumb.php
-
-		-
-			message: '#^Method WC_Breadcrumb\:\:add_crumbs_product_tag\(\) has no return type specified\.$#'
-			identifier: missingType.return
-			count: 1
-			path: includes/class-wc-breadcrumb.php
-
-		-
-			message: '#^Method WC_Breadcrumb\:\:add_crumbs_shop\(\) has no return type specified\.$#'
-			identifier: missingType.return
-			count: 1
-			path: includes/class-wc-breadcrumb.php
-
-		-
-			message: '#^Method WC_Breadcrumb\:\:add_crumbs_single\(\) has no return type specified\.$#'
-			identifier: missingType.return
-			count: 1
-			path: includes/class-wc-breadcrumb.php
-
-		-
-			message: '#^Method WC_Breadcrumb\:\:add_crumbs_tag\(\) has no return type specified\.$#'
-			identifier: missingType.return
-			count: 1
-			path: includes/class-wc-breadcrumb.php
-
-		-
-			message: '#^Method WC_Breadcrumb\:\:add_crumbs_tax\(\) has no return type specified\.$#'
-			identifier: missingType.return
-			count: 1
-			path: includes/class-wc-breadcrumb.php
-
-		-
-			message: '#^Method WC_Breadcrumb\:\:endpoint_trail\(\) has no return type specified\.$#'
-			identifier: missingType.return
-			count: 1
-			path: includes/class-wc-breadcrumb.php
-
-		-
-			message: '#^Method WC_Breadcrumb\:\:paged_trail\(\) has no return type specified\.$#'
-			identifier: missingType.return
-			count: 1
-			path: includes/class-wc-breadcrumb.php
-
-		-
-			message: '#^Method WC_Breadcrumb\:\:prepend_shop_page\(\) has no return type specified\.$#'
-			identifier: missingType.return
-			count: 1
-			path: includes/class-wc-breadcrumb.php
-
-		-
-			message: '#^Method WC_Breadcrumb\:\:reset\(\) has no return type specified\.$#'
-			identifier: missingType.return
-			count: 1
-			path: includes/class-wc-breadcrumb.php
-
-		-
-			message: '#^Method WC_Breadcrumb\:\:search_trail\(\) has no return type specified\.$#'
-			identifier: missingType.return
-			count: 1
-			path: includes/class-wc-breadcrumb.php
-
-		-
-			message: '#^Method WC_Breadcrumb\:\:term_ancestors\(\) has no return type specified\.$#'
-			identifier: missingType.return
-			count: 1
-			path: includes/class-wc-breadcrumb.php
-
 		-
 			message: '#^Parameter \#1 \$name of method WC_Breadcrumb\:\:add_crumb\(\) expects string, int\|string\|false given\.$#'
 			identifier: argument.type
@@ -12067,229 +11821,85 @@ parameters:
 			path: includes/class-wc-emails.php

 		-
-			message: '#^Method WC_Emails\:\:add_email_sender_filters\(\) has no return type specified\.$#'
-			identifier: missingType.return
+			message: '#^Method WC_Emails\:\:get_store_address\(\) should return string but returns string\|null\.$#'
+			identifier: return.type
 			count: 1
 			path: includes/class-wc-emails.php

 		-
-			message: '#^Method WC_Emails\:\:additional_address_fields\(\) has no return type specified\.$#'
-			identifier: missingType.return
+			message: '#^Method WC_Emails\:\:wrap_message\(\) should return string but returns string\|false\.$#'
+			identifier: return.type
 			count: 1
 			path: includes/class-wc-emails.php

 		-
-			message: '#^Method WC_Emails\:\:additional_checkout_fields\(\) has no return type specified\.$#'
-			identifier: missingType.return
+			message: '#^Parameter \#1 \$object_or_string of function is_a expects object, string given\.$#'
+			identifier: argument.type
 			count: 1
 			path: includes/class-wc-emails.php

 		-
-			message: '#^Method WC_Emails\:\:backorder\(\) has no return type specified\.$#'
-			identifier: missingType.return
+			message: '#^Parameter \#1 \$order of method WC_Structured_Data\:\:generate_order_data\(\) expects WP_Order, WC_Order given\.$#'
+			identifier: argument.type
 			count: 1
 			path: includes/class-wc-emails.php

 		-
-			message: '#^Method WC_Emails\:\:customer_details\(\) has no return type specified\.$#'
-			identifier: missingType.return
+			message: '#^Parameter \#1 \$text of function wp_strip_all_tags expects string, int\|null given\.$#'
+			identifier: argument.type
 			count: 1
 			path: includes/class-wc-emails.php

 		-
-			message: '#^Method WC_Emails\:\:customer_invoice\(\) has no return type specified\.$#'
-			identifier: missingType.return
+			message: '#^Parameter \#2 \$replace of function str_replace expects array\<string\>\|string, array\<int, string\|false\|null\> given\.$#'
+			identifier: argument.type
 			count: 1
 			path: includes/class-wc-emails.php

 		-
-			message: '#^Method WC_Emails\:\:customer_new_account\(\) has no return type specified\.$#'
-			identifier: missingType.return
+			message: '#^Parameter \#5 \$attachments of method WC_Email\:\:send\(\) expects array, string given\.$#'
+			identifier: argument.type
 			count: 1
 			path: includes/class-wc-emails.php

 		-
-			message: '#^Method WC_Emails\:\:email_addresses\(\) has no return type specified\.$#'
-			identifier: missingType.return
+			message: '#^Cannot call method get_price_html\(\) on WC_Product\|false\|null\.$#'
+			identifier: method.nonObject
 			count: 1
-			path: includes/class-wc-emails.php
+			path: includes/class-wc-embed.php

 		-
-			message: '#^Method WC_Emails\:\:email_footer\(\) has no return type specified\.$#'
-			identifier: missingType.return
+			message: '#^Cannot call method is_in_stock\(\) on WC_Product\|false\|null\.$#'
+			identifier: method.nonObject
 			count: 1
-			path: includes/class-wc-emails.php
+			path: includes/class-wc-embed.php

 		-
-			message: '#^Method WC_Emails\:\:email_header\(\) has no return type specified\.$#'
-			identifier: missingType.return
+			message: '#^Cannot call method is_purchasable\(\) on WC_Product\|false\|null\.$#'
+			identifier: method.nonObject
 			count: 1
-			path: includes/class-wc-emails.php
+			path: includes/class-wc-embed.php

 		-
-			message: '#^Method WC_Emails\:\:fulfillment_details\(\) has no return type specified\.$#'
-			identifier: missingType.return
+			message: '#^Cannot call method is_type\(\) on WC_Product\|false\|null\.$#'
+			identifier: method.nonObject
 			count: 1
-			path: includes/class-wc-emails.php
+			path: includes/class-wc-embed.php

 		-
-			message: '#^Method WC_Emails\:\:fulfillment_meta\(\) has no return type specified\.$#'
+			message: '#^Method WC_Embed\:\:get_ratings\(\) has no return type specified\.$#'
 			identifier: missingType.return
 			count: 1
-			path: includes/class-wc-emails.php
+			path: includes/class-wc-embed.php

 		-
-			message: '#^Method WC_Emails\:\:get_store_address\(\) should return string but returns string\|null\.$#'
-			identifier: return.type
+			message: '#^Method WC_Embed\:\:init\(\) has no return type specified\.$#'
+			identifier: missingType.return
 			count: 1
-			path: includes/class-wc-emails.php
+			path: includes/class-wc-embed.php

 		-
-			message: '#^Method WC_Emails\:\:init\(\) has no return type specified\.$#'
-			identifier: missingType.return
-			count: 1
-			path: includes/class-wc-emails.php
-
-		-
-			message: '#^Method WC_Emails\:\:init_transactional_emails\(\) has no return type specified\.$#'
-			identifier: missingType.return
-			count: 1
-			path: includes/class-wc-emails.php
-
-		-
-			message: '#^Method WC_Emails\:\:low_stock\(\) has no return type specified\.$#'
-			identifier: missingType.return
-			count: 1
-			path: includes/class-wc-emails.php
-
-		-
-			message: '#^Method WC_Emails\:\:no_stock\(\) has no return type specified\.$#'
-			identifier: missingType.return
-			count: 1
-			path: includes/class-wc-emails.php
-
-		-
-			message: '#^Method WC_Emails\:\:order_details\(\) has no return type specified\.$#'
-			identifier: missingType.return
-			count: 1
-			path: includes/class-wc-emails.php
-
-		-
-			message: '#^Method WC_Emails\:\:order_downloads\(\) has no return type specified\.$#'
-			identifier: missingType.return
-			count: 1
-			path: includes/class-wc-emails.php
-
-		-
-			message: '#^Method WC_Emails\:\:order_meta\(\) has no return type specified\.$#'
-			identifier: missingType.return
-			count: 1
-			path: includes/class-wc-emails.php
-
-		-
-			message: '#^Method WC_Emails\:\:order_schema_markup\(\) has no return type specified\.$#'
-			identifier: missingType.return
-			count: 1
-			path: includes/class-wc-emails.php
-
-		-
-			message: '#^Method WC_Emails\:\:queue_transactional_email\(\) has no return type specified\.$#'
-			identifier: missingType.return
-			count: 1
-			path: includes/class-wc-emails.php
-
-		-
-			message: '#^Method WC_Emails\:\:remove_email_sender_filters\(\) has no return type specified\.$#'
-			identifier: missingType.return
-			count: 1
-			path: includes/class-wc-emails.php
-
-		-
-			message: '#^Method WC_Emails\:\:send_queued_transactional_email\(\) has no return type specified\.$#'
-			identifier: missingType.return
-			count: 1
-			path: includes/class-wc-emails.php
-
-		-
-			message: '#^Method WC_Emails\:\:send_transactional_email\(\) has no return type specified\.$#'
-			identifier: missingType.return
-			count: 1
-			path: includes/class-wc-emails.php
-
-		-
-			message: '#^Method WC_Emails\:\:wrap_message\(\) should return string but returns string\|false\.$#'
-			identifier: return.type
-			count: 1
-			path: includes/class-wc-emails.php
-
-		-
-			message: '#^Parameter \#1 \$object_or_string of function is_a expects object, string given\.$#'
-			identifier: argument.type
-			count: 1
-			path: includes/class-wc-emails.php
-
-		-
-			message: '#^Parameter \#1 \$order of method WC_Structured_Data\:\:generate_order_data\(\) expects WP_Order, WC_Order given\.$#'
-			identifier: argument.type
-			count: 1
-			path: includes/class-wc-emails.php
-
-		-
-			message: '#^Parameter \#1 \$text of function wp_strip_all_tags expects string, int\|null given\.$#'
-			identifier: argument.type
-			count: 1
-			path: includes/class-wc-emails.php
-
-		-
-			message: '#^Parameter \#2 \$replace of function str_replace expects array\<string\>\|string, array\<int, string\|false\|null\> given\.$#'
-			identifier: argument.type
-			count: 1
-			path: includes/class-wc-emails.php
-
-		-
-			message: '#^Parameter \#5 \$attachments of method WC_Email\:\:send\(\) expects array, string given\.$#'
-			identifier: argument.type
-			count: 1
-			path: includes/class-wc-emails.php
-
-		-
-			message: '#^Cannot call method get_price_html\(\) on WC_Product\|false\|null\.$#'
-			identifier: method.nonObject
-			count: 1
-			path: includes/class-wc-embed.php
-
-		-
-			message: '#^Cannot call method is_in_stock\(\) on WC_Product\|false\|null\.$#'
-			identifier: method.nonObject
-			count: 1
-			path: includes/class-wc-embed.php
-
-		-
-			message: '#^Cannot call method is_purchasable\(\) on WC_Product\|false\|null\.$#'
-			identifier: method.nonObject
-			count: 1
-			path: includes/class-wc-embed.php
-
-		-
-			message: '#^Cannot call method is_type\(\) on WC_Product\|false\|null\.$#'
-			identifier: method.nonObject
-			count: 1
-			path: includes/class-wc-embed.php
-
-		-
-			message: '#^Method WC_Embed\:\:get_ratings\(\) has no return type specified\.$#'
-			identifier: missingType.return
-			count: 1
-			path: includes/class-wc-embed.php
-
-		-
-			message: '#^Method WC_Embed\:\:init\(\) has no return type specified\.$#'
-			identifier: missingType.return
-			count: 1
-			path: includes/class-wc-embed.php
-
-		-
-			message: '#^Method WC_Embed\:\:print_embed_styles\(\) has no return type specified\.$#'
+			message: '#^Method WC_Embed\:\:print_embed_styles\(\) has no return type specified\.$#'
 			identifier: missingType.return
 			count: 1
 			path: includes/class-wc-embed.php
@@ -16992,162 +16602,6 @@ parameters:
 			count: 1
 			path: includes/class-woocommerce.php

-		-
-			message: '#^Method WooCommerce\:\:activated_plugin\(\) has no return type specified\.$#'
-			identifier: missingType.return
-			count: 1
-			path: includes/class-woocommerce.php
-
-		-
-			message: '#^Method WooCommerce\:\:add_image_sizes\(\) has no return type specified\.$#'
-			identifier: missingType.return
-			count: 1
-			path: includes/class-woocommerce.php
-
-		-
-			message: '#^Method WooCommerce\:\:add_thumbnail_support\(\) has no return type specified\.$#'
-			identifier: missingType.return
-			count: 1
-			path: includes/class-woocommerce.php
-
-		-
-			message: '#^Method WooCommerce\:\:add_woocommerce_inbox_variant\(\) has no return type specified\.$#'
-			identifier: missingType.return
-			count: 1
-			path: includes/class-woocommerce.php
-
-		-
-			message: '#^Method WooCommerce\:\:add_woocommerce_remote_variant\(\) has no return type specified\.$#'
-			identifier: missingType.return
-			count: 1
-			path: includes/class-woocommerce.php
-
-		-
-			message: '#^Method WooCommerce\:\:deactivated_plugin\(\) has no return type specified\.$#'
-			identifier: missingType.return
-			count: 1
-			path: includes/class-woocommerce.php
-
-		-
-			message: '#^Method WooCommerce\:\:define\(\) has no return type specified\.$#'
-			identifier: missingType.return
-			count: 1
-			path: includes/class-woocommerce.php
-
-		-
-			message: '#^Method WooCommerce\:\:define_constants\(\) has no return type specified\.$#'
-			identifier: missingType.return
-			count: 1
-			path: includes/class-woocommerce.php
-
-		-
-			message: '#^Method WooCommerce\:\:define_tables\(\) has no return type specified\.$#'
-			identifier: missingType.return
-			count: 1
-			path: includes/class-woocommerce.php
-
-		-
-			message: '#^Method WooCommerce\:\:frontend_includes\(\) has no return type specified\.$#'
-			identifier: missingType.return
-			count: 1
-			path: includes/class-woocommerce.php
-
-		-
-			message: '#^Method WooCommerce\:\:include_template_functions\(\) has no return type specified\.$#'
-			identifier: missingType.return
-			count: 1
-			path: includes/class-woocommerce.php
-
-		-
-			message: '#^Method WooCommerce\:\:includes\(\) has no return type specified\.$#'
-			identifier: missingType.return
-			count: 1
-			path: includes/class-woocommerce.php
-
-		-
-			message: '#^Method WooCommerce\:\:init\(\) has no return type specified\.$#'
-			identifier: missingType.return
-			count: 1
-			path: includes/class-woocommerce.php
-
-		-
-			message: '#^Method WooCommerce\:\:init_customizer\(\) has no return type specified\.$#'
-			identifier: missingType.return
-			count: 1
-			path: includes/class-woocommerce.php
-
-		-
-			message: '#^Method WooCommerce\:\:init_hooks\(\) has no return type specified\.$#'
-			identifier: missingType.return
-			count: 1
-			path: includes/class-woocommerce.php
-
-		-
-			message: '#^Method WooCommerce\:\:is_request\(\) should return bool but return statement is missing\.$#'
-			identifier: return.missing
-			count: 1
-			path: includes/class-woocommerce.php
-
-		-
-			message: '#^Method WooCommerce\:\:load_plugin_textdomain\(\) has no return type specified\.$#'
-			identifier: missingType.return
-			count: 1
-			path: includes/class-woocommerce.php
-
-		-
-			message: '#^Method WooCommerce\:\:load_rest_api\(\) has no return type specified\.$#'
-			identifier: missingType.return
-			count: 1
-			path: includes/class-woocommerce.php
-
-		-
-			message: '#^Method WooCommerce\:\:load_webhooks\(\) has no return type specified\.$#'
-			identifier: missingType.return
-			count: 1
-			path: includes/class-woocommerce.php
-
-		-
-			message: '#^Method WooCommerce\:\:log_errors\(\) has no return type specified\.$#'
-			identifier: missingType.return
-			count: 1
-			path: includes/class-woocommerce.php
-
-		-
-			message: '#^Method WooCommerce\:\:on_plugins_loaded\(\) has no return type specified\.$#'
-			identifier: missingType.return
-			count: 1
-			path: includes/class-woocommerce.php
-
-		-
-			message: '#^Method WooCommerce\:\:register_recurring_actions\(\) has no return type specified\.$#'
-			identifier: missingType.return
-			count: 1
-			path: includes/class-woocommerce.php
-
-		-
-			message: '#^Method WooCommerce\:\:register_wp_admin_settings\(\) has no return type specified\.$#'
-			identifier: missingType.return
-			count: 1
-			path: includes/class-woocommerce.php
-
-		-
-			message: '#^Method WooCommerce\:\:setup_environment\(\) has no return type specified\.$#'
-			identifier: missingType.return
-			count: 1
-			path: includes/class-woocommerce.php
-
-		-
-			message: '#^Method WooCommerce\:\:theme_support_includes\(\) has no return type specified\.$#'
-			identifier: missingType.return
-			count: 1
-			path: includes/class-woocommerce.php
-
-		-
-			message: '#^Method WooCommerce\:\:wpdb_table_fix\(\) has no return type specified\.$#'
-			identifier: missingType.return
-			count: 1
-			path: includes/class-woocommerce.php
-
 		-
 			message: '#^Parameter \#1 \$class_name of method Automattic\\WooCommerce\\Proxies\\LegacyProxy\:\:get_instance_of\(\) expects class\-string\<object\>, string given\.$#'
 			identifier: argument.type
@@ -18724,270 +18178,132 @@ parameters:
 			message: '#^Parameter \#1 \$refund \(WC_Order_Refund\) of method WC_Order_Refund_Data_Store_CPT\:\:update_post_meta\(\) should be compatible with parameter \$order \(WC_Order\) of method Abstract_WC_Order_Data_Store_CPT\:\:update_post_meta\(\)$#'
 			identifier: method.childParameterType
 			count: 1
-			path: includes/data-stores/class-wc-order-refund-data-store-cpt.php
-
-		-
-			message: '#^Parameter &\$refund by\-ref type of method WC_Order_Refund_Data_Store_CPT\:\:read_order_data\(\) expects WC_Order_Refund, WC_Order given\.$#'
-			identifier: parameterByRef.type
-			count: 1
-			path: includes/data-stores/class-wc-order-refund-data-store-cpt.php
-
-		-
-			message: '#^Parameter &\$refund by\-ref type of method WC_Order_Refund_Data_Store_CPT\:\:update\(\) expects WC_Order_Refund, WC_Order given\.$#'
-			identifier: parameterByRef.type
-			count: 1
-			path: includes/data-stores/class-wc-order-refund-data-store-cpt.php
-
-		-
-			message: '#^Parameter &\$refund by\-ref type of method WC_Order_Refund_Data_Store_CPT\:\:update_post_meta\(\) expects WC_Order_Refund, WC_Order given\.$#'
-			identifier: parameterByRef.type
-			count: 1
-			path: includes/data-stores/class-wc-order-refund-data-store-cpt.php
-
-		-
-			message: '#^Return type \(void\) of method WC_Order_Refund_Data_Store_CPT\:\:delete\(\) should be compatible with return type \(bool\) of method WC_Object_Data_Store_Interface\:\:delete\(\)$#'
-			identifier: method.childReturnType
-			count: 1
-			path: includes/data-stores/class-wc-order-refund-data-store-cpt.php
-
-		-
-			message: '#^Method WC_Payment_Token_Data_Store\:\:create\(\) has no return type specified\.$#'
-			identifier: missingType.return
-			count: 1
-			path: includes/data-stores/class-wc-payment-token-data-store.php
-
-		-
-			message: '#^Method WC_Payment_Token_Data_Store\:\:delete\(\) should return bool but return statement is missing\.$#'
-			identifier: return.missing
-			count: 1
-			path: includes/data-stores/class-wc-payment-token-data-store.php
-
-		-
-			message: '#^Method WC_Payment_Token_Data_Store\:\:read\(\) has no return type specified\.$#'
-			identifier: missingType.return
-			count: 1
-			path: includes/data-stores/class-wc-payment-token-data-store.php
-
-		-
-			message: '#^Method WC_Payment_Token_Data_Store\:\:read_extra_data\(\) has no return type specified\.$#'
-			identifier: missingType.return
-			count: 1
-			path: includes/data-stores/class-wc-payment-token-data-store.php
-
-		-
-			message: '#^Method WC_Payment_Token_Data_Store\:\:update\(\) has no return type specified\.$#'
-			identifier: missingType.return
-			count: 1
-			path: includes/data-stores/class-wc-payment-token-data-store.php
-
-		-
-			message: '#^Parameter \#1 \$callback of function array_map expects \(callable\(int\)\: mixed\)\|null, ''esc_sql'' given\.$#'
-			identifier: argument.type
-			count: 1
-			path: includes/data-stores/class-wc-payment-token-data-store.php
-
-		-
-			message: '#^Parameter \#2 \$array of function implode expects array\<string\>, array\<array\|string\> given\.$#'
-			identifier: argument.type
-			count: 1
-			path: includes/data-stores/class-wc-payment-token-data-store.php
-
-		-
-			message: '#^Parameter \#2 \$force_delete \(bool\) of method WC_Payment_Token_Data_Store\:\:delete\(\) should be compatible with parameter \$args \(array\) of method WC_Object_Data_Store_Interface\:\:delete\(\)$#'
-			identifier: method.childParameterType
-			count: 1
-			path: includes/data-stores/class-wc-payment-token-data-store.php
-
-		-
-			message: '#^Return type \(void\) of method WC_Payment_Token_Data_Store\:\:set_default_status\(\) should be compatible with return type \(string\) of method WC_Payment_Token_Data_Store_Interface\:\:set_default_status\(\)$#'
-			identifier: method.childReturnType
-			count: 1
-			path: includes/data-stores/class-wc-payment-token-data-store.php
-
-		-
-			message: '#^@param float \$cogs_value does not accept actual type of parameter\: float\|null\.$#'
-			identifier: parameter.phpDocType
-			count: 1
-			path: includes/data-stores/class-wc-product-data-store-cpt.php
-
-		-
-			message: '#^@param int \$product does not accept actual type of parameter\: WC_Product\.$#'
-			identifier: parameter.phpDocType
-			count: 2
-			path: includes/data-stores/class-wc-product-data-store-cpt.php
-
-		-
-			message: '#^Argument of an invalid type list\<string\>\|false supplied for foreach, only iterables are supported\.$#'
-			identifier: foreach.nonIterable
-			count: 1
-			path: includes/data-stores/class-wc-product-data-store-cpt.php
-
-		-
-			message: '#^Cannot access property \$post_status on WP_Post\|null\.$#'
-			identifier: property.nonObject
-			count: 1
-			path: includes/data-stores/class-wc-product-data-store-cpt.php
-
-		-
-			message: '#^Cannot call method getOffsetTimestamp\(\) on WC_DateTime\|null\.$#'
-			identifier: method.nonObject
-			count: 1
-			path: includes/data-stores/class-wc-product-data-store-cpt.php
-
-		-
-			message: '#^Cannot call method getTimestamp\(\) on WC_DateTime\|null\.$#'
-			identifier: method.nonObject
-			count: 1
-			path: includes/data-stores/class-wc-product-data-store-cpt.php
-
-		-
-			message: '#^Method WC_Product_Data_Store_CPT\:\:clear_caches\(\) has no return type specified\.$#'
-			identifier: missingType.return
-			count: 1
-			path: includes/data-stores/class-wc-product-data-store-cpt.php
-
-		-
-			message: '#^Method WC_Product_Data_Store_CPT\:\:create\(\) has no return type specified\.$#'
-			identifier: missingType.return
-			count: 1
-			path: includes/data-stores/class-wc-product-data-store-cpt.php
-
-		-
-			message: '#^Method WC_Product_Data_Store_CPT\:\:delete\(\) should return bool but empty return statement found\.$#'
-			identifier: return.empty
-			count: 1
-			path: includes/data-stores/class-wc-product-data-store-cpt.php
-
-		-
-			message: '#^Method WC_Product_Data_Store_CPT\:\:delete\(\) should return bool but return statement is missing\.$#'
-			identifier: return.missing
-			count: 2
-			path: includes/data-stores/class-wc-product-data-store-cpt.php
+			path: includes/data-stores/class-wc-order-refund-data-store-cpt.php

 		-
-			message: '#^Method WC_Product_Data_Store_CPT\:\:handle_updated_props\(\) has no return type specified\.$#'
-			identifier: missingType.return
+			message: '#^Parameter &\$refund by\-ref type of method WC_Order_Refund_Data_Store_CPT\:\:read_order_data\(\) expects WC_Order_Refund, WC_Order given\.$#'
+			identifier: parameterByRef.type
 			count: 1
-			path: includes/data-stores/class-wc-product-data-store-cpt.php
+			path: includes/data-stores/class-wc-order-refund-data-store-cpt.php

 		-
-			message: '#^Method WC_Product_Data_Store_CPT\:\:load_cogs_data\(\) has no return type specified\.$#'
-			identifier: missingType.return
+			message: '#^Parameter &\$refund by\-ref type of method WC_Order_Refund_Data_Store_CPT\:\:update\(\) expects WC_Order_Refund, WC_Order given\.$#'
+			identifier: parameterByRef.type
 			count: 1
-			path: includes/data-stores/class-wc-product-data-store-cpt.php
+			path: includes/data-stores/class-wc-order-refund-data-store-cpt.php

 		-
-			message: '#^Method WC_Product_Data_Store_CPT\:\:read\(\) has no return type specified\.$#'
-			identifier: missingType.return
+			message: '#^Parameter &\$refund by\-ref type of method WC_Order_Refund_Data_Store_CPT\:\:update_post_meta\(\) expects WC_Order_Refund, WC_Order given\.$#'
+			identifier: parameterByRef.type
 			count: 1
-			path: includes/data-stores/class-wc-product-data-store-cpt.php
+			path: includes/data-stores/class-wc-order-refund-data-store-cpt.php

 		-
-			message: '#^Method WC_Product_Data_Store_CPT\:\:read_attributes\(\) has no return type specified\.$#'
-			identifier: missingType.return
+			message: '#^Return type \(void\) of method WC_Order_Refund_Data_Store_CPT\:\:delete\(\) should be compatible with return type \(bool\) of method WC_Object_Data_Store_Interface\:\:delete\(\)$#'
+			identifier: method.childReturnType
 			count: 1
-			path: includes/data-stores/class-wc-product-data-store-cpt.php
+			path: includes/data-stores/class-wc-order-refund-data-store-cpt.php

 		-
-			message: '#^Method WC_Product_Data_Store_CPT\:\:read_downloads\(\) has no return type specified\.$#'
+			message: '#^Method WC_Payment_Token_Data_Store\:\:create\(\) has no return type specified\.$#'
 			identifier: missingType.return
 			count: 1
-			path: includes/data-stores/class-wc-product-data-store-cpt.php
+			path: includes/data-stores/class-wc-payment-token-data-store.php

 		-
-			message: '#^Method WC_Product_Data_Store_CPT\:\:read_extra_data\(\) has no return type specified\.$#'
-			identifier: missingType.return
+			message: '#^Method WC_Payment_Token_Data_Store\:\:delete\(\) should return bool but return statement is missing\.$#'
+			identifier: return.missing
 			count: 1
-			path: includes/data-stores/class-wc-product-data-store-cpt.php
+			path: includes/data-stores/class-wc-payment-token-data-store.php

 		-
-			message: '#^Method WC_Product_Data_Store_CPT\:\:read_product_data\(\) has no return type specified\.$#'
+			message: '#^Method WC_Payment_Token_Data_Store\:\:read\(\) has no return type specified\.$#'
 			identifier: missingType.return
 			count: 1
-			path: includes/data-stores/class-wc-product-data-store-cpt.php
+			path: includes/data-stores/class-wc-payment-token-data-store.php

 		-
-			message: '#^Method WC_Product_Data_Store_CPT\:\:read_stock_quantity\(\) has no return type specified\.$#'
+			message: '#^Method WC_Payment_Token_Data_Store\:\:read_extra_data\(\) has no return type specified\.$#'
 			identifier: missingType.return
 			count: 1
-			path: includes/data-stores/class-wc-product-data-store-cpt.php
+			path: includes/data-stores/class-wc-payment-token-data-store.php

 		-
-			message: '#^Method WC_Product_Data_Store_CPT\:\:read_visibility\(\) has no return type specified\.$#'
+			message: '#^Method WC_Payment_Token_Data_Store\:\:update\(\) has no return type specified\.$#'
 			identifier: missingType.return
 			count: 1
-			path: includes/data-stores/class-wc-product-data-store-cpt.php
+			path: includes/data-stores/class-wc-payment-token-data-store.php

 		-
-			message: '#^Method WC_Product_Data_Store_CPT\:\:set_product_stock\(\) has no return type specified\.$#'
-			identifier: missingType.return
+			message: '#^Parameter \#1 \$callback of function array_map expects \(callable\(int\)\: mixed\)\|null, ''esc_sql'' given\.$#'
+			identifier: argument.type
 			count: 1
-			path: includes/data-stores/class-wc-product-data-store-cpt.php
+			path: includes/data-stores/class-wc-payment-token-data-store.php

 		-
-			message: '#^Method WC_Product_Data_Store_CPT\:\:sort_all_product_variations\(\) has no return type specified\.$#'
-			identifier: missingType.return
+			message: '#^Parameter \#2 \$array of function implode expects array\<string\>, array\<array\|string\> given\.$#'
+			identifier: argument.type
 			count: 1
-			path: includes/data-stores/class-wc-product-data-store-cpt.php
+			path: includes/data-stores/class-wc-payment-token-data-store.php

 		-
-			message: '#^Method WC_Product_Data_Store_CPT\:\:update\(\) has no return type specified\.$#'
-			identifier: missingType.return
+			message: '#^Parameter \#2 \$force_delete \(bool\) of method WC_Payment_Token_Data_Store\:\:delete\(\) should be compatible with parameter \$args \(array\) of method WC_Object_Data_Store_Interface\:\:delete\(\)$#'
+			identifier: method.childParameterType
 			count: 1
-			path: includes/data-stores/class-wc-product-data-store-cpt.php
+			path: includes/data-stores/class-wc-payment-token-data-store.php

 		-
-			message: '#^Method WC_Product_Data_Store_CPT\:\:update_attributes\(\) has no return type specified\.$#'
-			identifier: missingType.return
+			message: '#^Return type \(void\) of method WC_Payment_Token_Data_Store\:\:set_default_status\(\) should be compatible with return type \(string\) of method WC_Payment_Token_Data_Store_Interface\:\:set_default_status\(\)$#'
+			identifier: method.childReturnType
 			count: 1
-			path: includes/data-stores/class-wc-product-data-store-cpt.php
+			path: includes/data-stores/class-wc-payment-token-data-store.php

 		-
-			message: '#^Method WC_Product_Data_Store_CPT\:\:update_average_rating\(\) has no return type specified\.$#'
-			identifier: missingType.return
+			message: '#^@param float \$cogs_value does not accept actual type of parameter\: float\|null\.$#'
+			identifier: parameter.phpDocType
 			count: 1
 			path: includes/data-stores/class-wc-product-data-store-cpt.php

 		-
-			message: '#^Method WC_Product_Data_Store_CPT\:\:update_post_meta\(\) has no return type specified\.$#'
-			identifier: missingType.return
-			count: 1
+			message: '#^@param int \$product does not accept actual type of parameter\: WC_Product\.$#'
+			identifier: parameter.phpDocType
+			count: 2
 			path: includes/data-stores/class-wc-product-data-store-cpt.php

 		-
-			message: '#^Method WC_Product_Data_Store_CPT\:\:update_product_sales\(\) has no return type specified\.$#'
-			identifier: missingType.return
+			message: '#^Argument of an invalid type list\<string\>\|false supplied for foreach, only iterables are supported\.$#'
+			identifier: foreach.nonIterable
 			count: 1
 			path: includes/data-stores/class-wc-product-data-store-cpt.php

 		-
-			message: '#^Method WC_Product_Data_Store_CPT\:\:update_rating_counts\(\) has no return type specified\.$#'
-			identifier: missingType.return
+			message: '#^Cannot access property \$post_status on WP_Post\|null\.$#'
+			identifier: property.nonObject
 			count: 1
 			path: includes/data-stores/class-wc-product-data-store-cpt.php

 		-
-			message: '#^Method WC_Product_Data_Store_CPT\:\:update_review_count\(\) has no return type specified\.$#'
-			identifier: missingType.return
+			message: '#^Cannot call method getOffsetTimestamp\(\) on WC_DateTime\|null\.$#'
+			identifier: method.nonObject
 			count: 1
 			path: includes/data-stores/class-wc-product-data-store-cpt.php

 		-
-			message: '#^Method WC_Product_Data_Store_CPT\:\:update_terms\(\) has no return type specified\.$#'
-			identifier: missingType.return
+			message: '#^Cannot call method getTimestamp\(\) on WC_DateTime\|null\.$#'
+			identifier: method.nonObject
 			count: 1
 			path: includes/data-stores/class-wc-product-data-store-cpt.php

 		-
-			message: '#^Method WC_Product_Data_Store_CPT\:\:update_version_and_type\(\) has no return type specified\.$#'
-			identifier: missingType.return
+			message: '#^Method WC_Product_Data_Store_CPT\:\:delete\(\) should return bool but empty return statement found\.$#'
+			identifier: return.empty
 			count: 1
 			path: includes/data-stores/class-wc-product-data-store-cpt.php

 		-
-			message: '#^Method WC_Product_Data_Store_CPT\:\:update_visibility\(\) has no return type specified\.$#'
-			identifier: missingType.return
-			count: 1
+			message: '#^Method WC_Product_Data_Store_CPT\:\:delete\(\) should return bool but return statement is missing\.$#'
+			identifier: return.missing
+			count: 2
 			path: includes/data-stores/class-wc-product-data-store-cpt.php

 		-
@@ -19026,24 +18342,12 @@ parameters:
 			count: 1
 			path: includes/data-stores/class-wc-product-grouped-data-store-cpt.php

-		-
-			message: '#^Method WC_Product_Grouped_Data_Store_CPT\:\:handle_updated_props\(\) has no return type specified\.$#'
-			identifier: missingType.return
-			count: 1
-			path: includes/data-stores/class-wc-product-grouped-data-store-cpt.php
-
 		-
 			message: '#^Method WC_Product_Grouped_Data_Store_CPT\:\:sync_price\(\) has no return type specified\.$#'
 			identifier: missingType.return
 			count: 1
 			path: includes/data-stores/class-wc-product-grouped-data-store-cpt.php

-		-
-			message: '#^Method WC_Product_Grouped_Data_Store_CPT\:\:update_post_meta\(\) has no return type specified\.$#'
-			identifier: missingType.return
-			count: 1
-			path: includes/data-stores/class-wc-product-grouped-data-store-cpt.php
-
 		-
 			message: '#^Method WC_Product_Grouped_Data_Store_CPT\:\:update_prices_from_children\(\) has no return type specified\.$#'
 			identifier: missingType.return
@@ -19092,18 +18396,6 @@ parameters:
 			count: 1
 			path: includes/data-stores/class-wc-product-variable-data-store-cpt.php

-		-
-			message: '#^Method WC_Product_Variable_Data_Store_CPT\:\:read_attributes\(\) has no return type specified\.$#'
-			identifier: missingType.return
-			count: 1
-			path: includes/data-stores/class-wc-product-variable-data-store-cpt.php
-
-		-
-			message: '#^Method WC_Product_Variable_Data_Store_CPT\:\:read_product_data\(\) has no return type specified\.$#'
-			identifier: missingType.return
-			count: 1
-			path: includes/data-stores/class-wc-product-variable-data-store-cpt.php
-
 		-
 			message: '#^Method WC_Product_Variable_Data_Store_CPT\:\:sync_managed_variation_stock_status\(\) has no return type specified\.$#'
 			identifier: missingType.return
@@ -19170,72 +18462,12 @@ parameters:
 			count: 3
 			path: includes/data-stores/class-wc-product-variation-data-store-cpt.php

-		-
-			message: '#^Method WC_Product_Variation_Data_Store_CPT\:\:create\(\) has no return type specified\.$#'
-			identifier: missingType.return
-			count: 1
-			path: includes/data-stores/class-wc-product-variation-data-store-cpt.php
-
-		-
-			message: '#^Method WC_Product_Variation_Data_Store_CPT\:\:load_cogs_data\(\) has no return type specified\.$#'
-			identifier: missingType.return
-			count: 1
-			path: includes/data-stores/class-wc-product-variation-data-store-cpt.php
-
-		-
-			message: '#^Method WC_Product_Variation_Data_Store_CPT\:\:read\(\) has no return type specified\.$#'
-			identifier: missingType.return
-			count: 1
-			path: includes/data-stores/class-wc-product-variation-data-store-cpt.php
-
-		-
-			message: '#^Method WC_Product_Variation_Data_Store_CPT\:\:read_product_data\(\) has no return type specified\.$#'
-			identifier: missingType.return
-			count: 1
-			path: includes/data-stores/class-wc-product-variation-data-store-cpt.php
-
-		-
-			message: '#^Method WC_Product_Variation_Data_Store_CPT\:\:update\(\) has no return type specified\.$#'
-			identifier: missingType.return
-			count: 1
-			path: includes/data-stores/class-wc-product-variation-data-store-cpt.php
-
-		-
-			message: '#^Method WC_Product_Variation_Data_Store_CPT\:\:update_attributes\(\) has no return type specified\.$#'
-			identifier: missingType.return
-			count: 1
-			path: includes/data-stores/class-wc-product-variation-data-store-cpt.php
-
 		-
 			message: '#^Method WC_Product_Variation_Data_Store_CPT\:\:update_guid\(\) has no return type specified\.$#'
 			identifier: missingType.return
 			count: 1
 			path: includes/data-stores/class-wc-product-variation-data-store-cpt.php

-		-
-			message: '#^Method WC_Product_Variation_Data_Store_CPT\:\:update_post_meta\(\) has no return type specified\.$#'
-			identifier: missingType.return
-			count: 1
-			path: includes/data-stores/class-wc-product-variation-data-store-cpt.php
-
-		-
-			message: '#^Method WC_Product_Variation_Data_Store_CPT\:\:update_terms\(\) has no return type specified\.$#'
-			identifier: missingType.return
-			count: 1
-			path: includes/data-stores/class-wc-product-variation-data-store-cpt.php
-
-		-
-			message: '#^Method WC_Product_Variation_Data_Store_CPT\:\:update_version_and_type\(\) has no return type specified\.$#'
-			identifier: missingType.return
-			count: 1
-			path: includes/data-stores/class-wc-product-variation-data-store-cpt.php
-
-		-
-			message: '#^Method WC_Product_Variation_Data_Store_CPT\:\:update_visibility\(\) has no return type specified\.$#'
-			identifier: missingType.return
-			count: 1
-			path: includes/data-stores/class-wc-product-variation-data-store-cpt.php
-
 		-
 			message: '#^Parameter \#1 \$product of method WC_Product_Variation_Data_Store_CPT\:\:generate_attribute_summary\(\) expects WC_Product_Variation, WC_Product given\.$#'
 			identifier: argument.type
@@ -34719,12 +33951,6 @@ parameters:
 			count: 1
 			path: includes/wc-core-functions.php

-		-
-			message: '#^Function flush_rewrite_rules_on_shop_page_save\(\) has no return type specified\.$#'
-			identifier: missingType.return
-			count: 1
-			path: includes/wc-core-functions.php
-
 		-
 			message: '#^Function wc_add_number_precision\(\) never returns int so it can be removed from the return type\.$#'
 			identifier: return.unusedType
@@ -34737,102 +33963,30 @@ parameters:
 			count: 1
 			path: includes/wc-core-functions.php

-		-
-			message: '#^Function wc_back_header\(\) has no return type specified\.$#'
-			identifier: missingType.return
-			count: 1
-			path: includes/wc-core-functions.php
-
-		-
-			message: '#^Function wc_back_link\(\) has no return type specified\.$#'
-			identifier: missingType.return
-			count: 1
-			path: includes/wc-core-functions.php
-
 		-
 			message: '#^Function wc_cache_get_multiple\(\) never returns bool so it can be removed from the return type\.$#'
 			identifier: return.unusedType
 			count: 1
 			path: includes/wc-core-functions.php

-		-
-			message: '#^Function wc_cleanup_logs\(\) has no return type specified\.$#'
-			identifier: missingType.return
-			count: 1
-			path: includes/wc-core-functions.php
-
-		-
-			message: '#^Function wc_cleanup_session_data\(\) has no return type specified\.$#'
-			identifier: missingType.return
-			count: 1
-			path: includes/wc-core-functions.php
-
-		-
-			message: '#^Function wc_clear_system_status_theme_info_cache\(\) has no return type specified\.$#'
-			identifier: missingType.return
-			count: 1
-			path: includes/wc-core-functions.php
-
-		-
-			message: '#^Function wc_clear_template_cache\(\) has no return type specified\.$#'
-			identifier: missingType.return
-			count: 1
-			path: includes/wc-core-functions.php
-
-		-
-			message: '#^Function wc_enqueue_js\(\) has no return type specified\.$#'
-			identifier: missingType.return
-			count: 1
-			path: includes/wc-core-functions.php
-
 		-
 			message: '#^Function wc_get_logger\(\) should return WC_Logger_Interface but returns object\.$#'
 			identifier: return.type
 			count: 2
 			path: includes/wc-core-functions.php

-		-
-			message: '#^Function wc_get_template\(\) has no return type specified\.$#'
-			identifier: missingType.return
-			count: 1
-			path: includes/wc-core-functions.php
-
 		-
 			message: '#^Function wc_get_template_html\(\) should return string but returns string\|false\.$#'
 			identifier: return.type
 			count: 1
 			path: includes/wc-core-functions.php

-		-
-			message: '#^Function wc_get_template_part\(\) has no return type specified\.$#'
-			identifier: missingType.return
-			count: 1
-			path: includes/wc-core-functions.php
-
 		-
 			message: '#^Function wc_get_user_agent\(\) should return string but returns array\|string\.$#'
 			identifier: return.type
 			count: 1
 			path: includes/wc-core-functions.php

-		-
-			message: '#^Function wc_maybe_define_constant\(\) has no return type specified\.$#'
-			identifier: missingType.return
-			count: 1
-			path: includes/wc-core-functions.php
-
-		-
-			message: '#^Function wc_nocache_headers\(\) has no return type specified\.$#'
-			identifier: missingType.return
-			count: 1
-			path: includes/wc-core-functions.php
-
-		-
-			message: '#^Function wc_print_js\(\) has no return type specified\.$#'
-			identifier: missingType.return
-			count: 1
-			path: includes/wc-core-functions.php
-
 		-
 			message: '#^Function wc_remove_number_precision_deep\(\) never returns int so it can be removed from the return type\.$#'
 			identifier: return.unusedType
@@ -34845,48 +33999,6 @@ parameters:
 			count: 1
 			path: includes/wc-core-functions.php

-		-
-			message: '#^Function wc_restore_locale\(\) has no return type specified\.$#'
-			identifier: missingType.return
-			count: 1
-			path: includes/wc-core-functions.php
-
-		-
-			message: '#^Function wc_set_template_cache\(\) has no return type specified\.$#'
-			identifier: missingType.return
-			count: 1
-			path: includes/wc-core-functions.php
-
-		-
-			message: '#^Function wc_set_time_limit\(\) has no return type specified\.$#'
-			identifier: missingType.return
-			count: 1
-			path: includes/wc-core-functions.php
-
-		-
-			message: '#^Function wc_setcookie\(\) has no return type specified\.$#'
-			identifier: missingType.return
-			count: 1
-			path: includes/wc-core-functions.php
-
-		-
-			message: '#^Function wc_switch_to_site_locale\(\) has no return type specified\.$#'
-			identifier: missingType.return
-			count: 1
-			path: includes/wc-core-functions.php
-
-		-
-			message: '#^Function wc_transaction_query\(\) has no return type specified\.$#'
-			identifier: missingType.return
-			count: 1
-			path: includes/wc-core-functions.php
-
-		-
-			message: '#^Function woocommerce_register_shipping_method\(\) has no return type specified\.$#'
-			identifier: missingType.return
-			count: 1
-			path: includes/wc-core-functions.php
-
 		-
 			message: '#^One or more @param tags has an invalid name or invalid syntax\.$#'
 			identifier: phpDoc.parseError