Commit 66a75447ea for woocommerce
commit 66a75447ea80b5ba1c430f4e382721ee7b2b8f03
Author: Michael Pretty <prettyboymp@users.noreply.github.com>
Date: Mon Feb 9 11:16:09 2026 -0500
Add @return PHPDoc annotations (batch 3) - reduces baseline by 149 errors (#63149)
Add @return PHPDoc annotations to reduce PHPStan baseline (batch 3)
Adds missing @return type annotations to 150 methods across 5 files:
- class-wc-admin-notices.php (32 methods)
- class-wc-coupon.php (31 methods)
- class-wc-post-data.php (31 methods)
- class-wc-helper.php (28 methods)
- abstract-wc-order.php (28 methods)
PHPStan baseline reduction: 16,767 → 16,618 (-149 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-3 b/plugins/woocommerce/changelog/fix-phpstan-return-types-batch-3
new file mode 100644
index 0000000000..41f3293e82
--- /dev/null
+++ b/plugins/woocommerce/changelog/fix-phpstan-return-types-batch-3
@@ -0,0 +1,4 @@
+Significance: patch
+Type: dev
+
+Add missing @return PHPDoc annotations to 5 files, reducing PHPStan baseline by 149 errors (batch 3).
diff --git a/plugins/woocommerce/includes/abstracts/abstract-wc-order.php b/plugins/woocommerce/includes/abstracts/abstract-wc-order.php
index 742949f2bb..ab1975c776 100644
--- a/plugins/woocommerce/includes/abstracts/abstract-wc-order.php
+++ b/plugins/woocommerce/includes/abstracts/abstract-wc-order.php
@@ -258,6 +258,7 @@ abstract class WC_Abstract_Order extends WC_Abstract_Legacy_Order {
* @param Exception $e Exception object.
* @param string $message Message regarding exception thrown.
* @since 3.7.0
+ * @return void
*/
protected function handle_exception( $e, $message = 'Error' ) {
wc_get_logger()->error(
@@ -271,6 +272,8 @@ abstract class WC_Abstract_Order extends WC_Abstract_Legacy_Order {
/**
* Save all order items which are part of this order.
+ *
+ * @return void
*/
protected function save_items() {
$items_changed = false;
@@ -637,6 +640,7 @@ abstract class WC_Abstract_Order extends WC_Abstract_Legacy_Order {
*
* @since 3.0.0
* @param int $value Value to set.
+ * @return void
* @throws WC_Data_Exception Exception thrown if parent ID does not exist or is invalid.
*/
public function set_parent_id( $value ) {
@@ -696,6 +700,7 @@ abstract class WC_Abstract_Order extends WC_Abstract_Legacy_Order {
* Set order_version.
*
* @param string $value Value to set.
+ * @return void
* @throws WC_Data_Exception Exception may be thrown if value is invalid.
*/
public function set_version( $value ) {
@@ -706,6 +711,7 @@ abstract class WC_Abstract_Order extends WC_Abstract_Legacy_Order {
* Set order_currency.
*
* @param string $value Value to set.
+ * @return void
* @throws WC_Data_Exception Exception may be thrown if value is invalid.
*/
public function set_currency( $value ) {
@@ -719,6 +725,7 @@ abstract class WC_Abstract_Order extends WC_Abstract_Legacy_Order {
* Set prices_include_tax.
*
* @param bool $value Value to set.
+ * @return void
* @throws WC_Data_Exception Exception may be thrown if value is invalid.
*/
public function set_prices_include_tax( $value ) {
@@ -729,6 +736,7 @@ abstract class WC_Abstract_Order extends WC_Abstract_Legacy_Order {
* Set date_created.
*
* @param string|integer|null $date UTC timestamp, or ISO 8601 DateTime. If the DateTime string has no timezone or offset, WordPress site timezone will be assumed. Null if there is no date.
+ * @return void
* @throws WC_Data_Exception Exception may be thrown if value is invalid.
*/
public function set_date_created( $date = null ) {
@@ -739,6 +747,7 @@ abstract class WC_Abstract_Order extends WC_Abstract_Legacy_Order {
* Set date_modified.
*
* @param string|integer|null $date UTC timestamp, or ISO 8601 DateTime. If the DateTime string has no timezone or offset, WordPress site timezone will be assumed. Null if there is no date.
+ * @return void
* @throws WC_Data_Exception Exception may be thrown if value is invalid.
*/
public function set_date_modified( $date = null ) {
@@ -749,6 +758,7 @@ abstract class WC_Abstract_Order extends WC_Abstract_Legacy_Order {
* Set discount_total.
*
* @param string $value Value to set.
+ * @return void
* @throws WC_Data_Exception Exception may be thrown if value is invalid.
*/
public function set_discount_total( $value ) {
@@ -759,6 +769,7 @@ abstract class WC_Abstract_Order extends WC_Abstract_Legacy_Order {
* Set discount_tax.
*
* @param string $value Value to set.
+ * @return void
* @throws WC_Data_Exception Exception may be thrown if value is invalid.
*/
public function set_discount_tax( $value ) {
@@ -769,6 +780,7 @@ abstract class WC_Abstract_Order extends WC_Abstract_Legacy_Order {
* Set shipping_total.
*
* @param string $value Value to set.
+ * @return void
* @throws WC_Data_Exception Exception may be thrown if value is invalid.
*/
public function set_shipping_total( $value ) {
@@ -779,6 +791,7 @@ abstract class WC_Abstract_Order extends WC_Abstract_Legacy_Order {
* Set shipping_tax.
*
* @param string $value Value to set.
+ * @return void
* @throws WC_Data_Exception Exception may be thrown if value is invalid.
*/
public function set_shipping_tax( $value ) {
@@ -790,6 +803,7 @@ abstract class WC_Abstract_Order extends WC_Abstract_Legacy_Order {
* Set cart tax.
*
* @param string $value Value to set.
+ * @return void
* @throws WC_Data_Exception Exception may be thrown if value is invalid.
*/
public function set_cart_tax( $value ) {
@@ -801,6 +815,7 @@ abstract class WC_Abstract_Order extends WC_Abstract_Legacy_Order {
* Sets order tax (sum of cart and shipping tax). Used internally only.
*
* @param string $value Value to set.
+ * @return void
* @throws WC_Data_Exception Exception may be thrown if value is invalid.
*/
protected function set_total_tax( $value ) {
@@ -854,6 +869,7 @@ abstract class WC_Abstract_Order extends WC_Abstract_Legacy_Order {
* Remove all line items (products, coupons, shipping, taxes) from the order.
*
* @param string $type Order item type. Default null.
+ * @return void
*/
public function remove_order_items( $type = null ) {
@@ -1158,6 +1174,7 @@ abstract class WC_Abstract_Order extends WC_Abstract_Legacy_Order {
* @throws Exception When not able to apply coupon.
*
* @param string $billing_email Billing email of order.
+ * @return void
*/
public function hold_applied_coupons( $billing_email ) {
$held_keys = array();
@@ -1401,6 +1418,7 @@ abstract class WC_Abstract_Order extends WC_Abstract_Legacy_Order {
* This method is public since WooCommerce 3.8.0.
*
* @since 3.2.0
+ * @return void
*/
public function recalculate_coupons() {
// Reset line item totals.
@@ -1492,6 +1510,7 @@ abstract class WC_Abstract_Order extends WC_Abstract_Legacy_Order {
*
* @since 3.2.0
* @param WC_Discounts $discounts Discounts class.
+ * @return void
*/
protected function set_item_discount_amounts( $discounts ) {
$item_discounts = $discounts->get_discounts_by_item();
@@ -1520,6 +1539,7 @@ abstract class WC_Abstract_Order extends WC_Abstract_Legacy_Order {
*
* @since 3.2.0
* @param WC_Discounts $discounts Discounts class.
+ * @return void
*/
protected function set_coupon_discount_amounts( $discounts ) {
$coupons = $this->get_items( 'coupon' );
@@ -1822,6 +1842,7 @@ abstract class WC_Abstract_Order extends WC_Abstract_Legacy_Order {
* Will use the base country unless customer addresses are set.
*
* @param array $args Added in 3.0.0 to pass things like location.
+ * @return void
*/
public function calculate_taxes( $args = array() ) {
do_action( 'woocommerce_order_before_calculate_taxes', $args, $this );
@@ -1873,6 +1894,8 @@ abstract class WC_Abstract_Order extends WC_Abstract_Legacy_Order {
/**
* Update tax lines for the order based on the line item taxes themselves.
+ *
+ * @return void
*/
public function update_taxes() {
$cart_taxes = array();
@@ -2305,6 +2328,7 @@ abstract class WC_Abstract_Order extends WC_Abstract_Legacy_Order {
*
* @param array $total_rows Reference to total rows array.
* @param string $tax_display Excl or incl tax display mode.
+ * @return void
*/
protected function add_order_item_totals_subtotal_row( &$total_rows, $tax_display ) {
$subtotal = $this->get_subtotal_to_display( false, $tax_display );
@@ -2323,6 +2347,7 @@ abstract class WC_Abstract_Order extends WC_Abstract_Legacy_Order {
*
* @param array $total_rows Reference to total rows array.
* @param string $tax_display Excl or incl tax display mode.
+ * @return void
*/
protected function add_order_item_totals_discount_row( &$total_rows, $tax_display ) {
if ( $this->get_total_discount() > 0 ) {
@@ -2339,6 +2364,7 @@ abstract class WC_Abstract_Order extends WC_Abstract_Legacy_Order {
*
* @param array $total_rows Reference to total rows array.
* @param string $tax_display Excl or incl tax display mode.
+ * @return void
*/
protected function add_order_item_totals_shipping_row( &$total_rows, $tax_display ) {
if ( $this->get_shipping_method() ) {
@@ -2356,6 +2382,7 @@ abstract class WC_Abstract_Order extends WC_Abstract_Legacy_Order {
*
* @param array $total_rows Reference to total rows array.
* @param string $tax_display Excl or incl tax display mode.
+ * @return void
*/
protected function add_order_item_totals_fee_rows( &$total_rows, $tax_display ) {
$fees = $this->get_fees();
@@ -2379,6 +2406,7 @@ abstract class WC_Abstract_Order extends WC_Abstract_Legacy_Order {
*
* @param array $total_rows Reference to total rows array.
* @param string $tax_display Excl or incl tax display mode.
+ * @return void
*/
protected function add_order_item_totals_tax_rows( &$total_rows, $tax_display ) {
// Tax for tax exclusive prices.
@@ -2406,6 +2434,7 @@ abstract class WC_Abstract_Order extends WC_Abstract_Legacy_Order {
*
* @param array $total_rows Reference to total rows array.
* @param string $tax_display Excl or incl tax display mode.
+ * @return void
*/
protected function add_order_item_totals_total_row( &$total_rows, $tax_display ) {
$total_rows['order_total'] = array(
@@ -2613,6 +2642,7 @@ abstract class WC_Abstract_Order extends WC_Abstract_Legacy_Order {
* WARNING! If the Cost of Goods Sold feature is disabled this method will have no effect.
*
* @param float $value The value to set for this order.
+ * @return void
*
* @internal This method is intended for data store usage only, the value set here will be overridden by calculate_cogs_total_value.
*/
diff --git a/plugins/woocommerce/includes/admin/class-wc-admin-notices.php b/plugins/woocommerce/includes/admin/class-wc-admin-notices.php
index 95e0e3587b..13b3081149 100644
--- a/plugins/woocommerce/includes/admin/class-wc-admin-notices.php
+++ b/plugins/woocommerce/includes/admin/class-wc-admin-notices.php
@@ -56,6 +56,8 @@ class WC_Admin_Notices {
/**
* Initializes the class.
+ *
+ * @return void
*/
public static function init() {
self::$is_multisite = is_multisite();
@@ -94,6 +96,8 @@ class WC_Admin_Notices {
/**
* Store the locally cached notices to DB.
+ *
+ * @return void
*/
public static function store_notices() {
$current_notices = self::get_notices();
@@ -136,6 +140,7 @@ class WC_Admin_Notices {
* Set the locally cached notices array for the current site.
*
* @param array $notices New value for the locally cached notices array.
+ * @return void
*/
private static function set_notices( array $notices ) {
if ( self::$is_multisite ) {
@@ -147,6 +152,8 @@ class WC_Admin_Notices {
/**
* Remove all notices from the locally cached notices array.
+ *
+ * @return void
*/
public static function remove_all_notices() {
self::set_notices( array() );
@@ -154,6 +161,8 @@ class WC_Admin_Notices {
/**
* Reset notices for themes when switched or a new version of WC is installed.
+ *
+ * @return void
*/
public static function reset_admin_notices() {
if ( ! self::is_ssl() ) {
@@ -171,6 +180,8 @@ class WC_Admin_Notices {
/**
* Add an admin notice about unsupported webhooks with Legacy API payload if at least one of these exist
* and the Legacy REST API plugin is not installed.
+ *
+ * @return void
*/
private static function maybe_add_legacy_api_removal_notice() {
if ( wc_get_container()->get( WebhookUtil::class )->get_legacy_webhooks_count() > 0 && ! WC()->legacy_rest_api_is_available() ) {
@@ -198,6 +209,7 @@ class WC_Admin_Notices {
* Remove the admin notice about the unsupported webhooks if the Legacy REST API plugin is installed.
*
* @internal For exclusive usage of WooCommerce core, backwards compatibility not guaranteed.
+ * @return void
*/
public static function maybe_remove_legacy_api_removal_notice() {
if ( self::has_notice( 'legacy_webhooks_unsupported_in_woo_90' ) && ( WC()->legacy_rest_api_is_available() || 0 === wc_get_container()->get( WebhookUtil::class )->get_legacy_webhooks_count() ) ) {
@@ -210,6 +222,7 @@ class WC_Admin_Notices {
*
* @param string $name Notice name.
* @param bool $force_save Force saving inside this method instead of at the 'shutdown'.
+ * @return void
*/
public static function add_notice( $name, $force_save = false ) {
self::set_notices( array_unique( array_merge( self::get_notices(), array( $name ) ) ) );
@@ -225,6 +238,7 @@ class WC_Admin_Notices {
*
* @param string $name Notice name.
* @param bool $force_save Force saving inside this method instead of at the 'shutdown'.
+ * @return void
*/
public static function remove_notice( $name, $force_save = false ) {
if ( self::has_notice( $name ) ) {
@@ -272,6 +286,8 @@ class WC_Admin_Notices {
/**
* Hide a notice if the GET variable is set.
+ *
+ * @return void
*/
public static function hide_notices() {
if ( isset( $_GET['wc-hide-notice'] ) && isset( $_GET['_wc_notice_nonce'] ) ) {
@@ -303,6 +319,7 @@ class WC_Admin_Notices {
* Hide a single notice.
*
* @param string $name Notice name.
+ * @return void
*/
private static function hide_notice( $name ) {
self::remove_notice( $name );
@@ -327,6 +344,8 @@ class WC_Admin_Notices {
/**
* Add notices + styles if needed.
+ *
+ * @return void
*/
public static function add_notices() {
$notices = self::get_notices();
@@ -368,6 +387,7 @@ class WC_Admin_Notices {
*
* @param string $name Notice name.
* @param string $notice_html Notice HTML.
+ * @return void
*/
public static function add_custom_notice( $name, $notice_html ) {
self::add_notice( $name );
@@ -376,6 +396,8 @@ class WC_Admin_Notices {
/**
* Output any stored custom notices.
+ *
+ * @return void
*/
public static function output_custom_notices() {
$notices = self::get_notices();
@@ -395,6 +417,8 @@ class WC_Admin_Notices {
/**
* If we need to update the database, include a message with the DB update button.
+ *
+ * @return void
*/
public static function update_notice() {
$screen = get_current_screen();
@@ -421,6 +445,7 @@ class WC_Admin_Notices {
* If we have just installed, show a message with the install pages button.
*
* @deprecated 4.6.0
+ * @return void
*/
public static function install_notice() {
_deprecated_function( __CLASS__ . '::' . __FUNCTION__, '4.6.0', esc_html__( 'Onboarding is maintained in WooCommerce Admin.', 'woocommerce' ) );
@@ -428,6 +453,8 @@ class WC_Admin_Notices {
/**
* Show a notice highlighting bad template files.
+ *
+ * @return void
*/
public static function template_file_check_notice() {
$core_templates = WC_Admin_Status::scan_template_files( WC()->plugin_path() . '/templates' );
@@ -468,6 +495,7 @@ class WC_Admin_Notices {
* Show a notice asking users to convert to shipping zones.
*
* @todo remove in 4.0.0
+ * @return void
*/
public static function legacy_shipping_notice() {
$maybe_load_legacy_methods = array( 'flat_rate', 'free_shipping', 'international_delivery', 'local_delivery', 'local_pickup' );
@@ -489,6 +517,8 @@ class WC_Admin_Notices {
/**
* No shipping methods.
+ *
+ * @return void
*/
public static function no_shipping_methods_notice() {
// phpcs:ignore WordPress.Security.NonceVerification.Recommended
@@ -508,6 +538,8 @@ class WC_Admin_Notices {
/**
* Notice shown when regenerating thumbnails background process is running.
+ *
+ * @return void
*/
public static function regenerating_thumbnails_notice() {
include __DIR__ . '/views/html-notice-regenerating-thumbnails.php';
@@ -515,6 +547,8 @@ class WC_Admin_Notices {
/**
* Notice about secure connection.
+ *
+ * @return void
*/
public static function secure_connection_notice() {
if ( self::is_ssl() || get_user_meta( get_current_user_id(), 'dismissed_no_secure_connection_notice', true ) ) {
@@ -528,6 +562,7 @@ class WC_Admin_Notices {
* Notice shown when regenerating thumbnails background process is running.
*
* @since 3.6.0
+ * @return void
*/
public static function regenerating_lookup_table_notice() {
// See if this is still relevant.
@@ -543,6 +578,7 @@ class WC_Admin_Notices {
* Add notice about minimum PHP and WordPress requirement.
*
* @since 3.6.5
+ * @return void
*/
public static function add_min_version_notice() {
if ( version_compare( phpversion(), WC_NOTICE_MIN_PHP_VERSION, '<' ) || version_compare( get_bloginfo( 'version' ), WC_NOTICE_MIN_WP_VERSION, '<' ) ) {
@@ -565,6 +601,7 @@ class WC_Admin_Notices {
* Add MaxMind missing license key notice.
*
* @since 3.9.0
+ * @return void
*/
public static function add_maxmind_missing_license_key_notice() {
$default_address = get_option( 'woocommerce_default_customer_address' );
@@ -582,6 +619,8 @@ class WC_Admin_Notices {
/**
* Add notice about Redirect-only download method, nudging user to switch to a different method instead.
+ *
+ * @return void
*/
public static function add_redirect_download_method_notice() {
if ( 'redirect' === get_option( 'woocommerce_file_download_method' ) ) {
@@ -593,6 +632,8 @@ class WC_Admin_Notices {
/**
* Notice about the completion of the product downloads sync, with further advice for the site operator.
+ *
+ * @return void
*/
public static function download_directories_sync_complete() {
$notice_dismissed = apply_filters(
@@ -613,6 +654,7 @@ class WC_Admin_Notices {
* Display MaxMind missing license key notice.
*
* @since 3.9.0
+ * @return void
*/
public static function maxmind_missing_license_key_notice() {
$user_dismissed_notice = get_user_meta( get_current_user_id(), 'dismissed_maxmind_license_key_notice', true );
@@ -630,6 +672,7 @@ class WC_Admin_Notices {
* Notice about Redirect-Only download method.
*
* @since 4.0
+ * @return void
*/
public static function redirect_download_method_notice() {
if ( apply_filters( 'woocommerce_hide_redirect_method_nag', get_user_meta( get_current_user_id(), 'dismissed_redirect_download_method_notice', true ) ) ) {
@@ -644,6 +687,7 @@ class WC_Admin_Notices {
* Notice about uploads directory begin unprotected.
*
* @since 4.2.0
+ * @return void
*/
public static function uploads_directory_is_unprotected_notice() {
if ( get_user_meta( get_current_user_id(), 'dismissed_uploads_directory_is_unprotected_notice', true ) || self::is_uploads_directory_protected() ) {
@@ -656,6 +700,8 @@ class WC_Admin_Notices {
/**
* Notice about base tables missing.
+ *
+ * @return void
*/
public static function base_tables_missing_notice() {
$notice_dismissed = apply_filters(
@@ -698,6 +744,7 @@ class WC_Admin_Notices {
* Simplify Commerce is no longer in core.
*
* @deprecated 3.6.0 No longer shown.
+ * @return void
*/
public static function simplify_commerce_notice() {
wc_deprecated_function( 'WC_Admin_Notices::simplify_commerce_notice', '3.6.0' );
@@ -707,6 +754,7 @@ class WC_Admin_Notices {
* Show the Theme Check notice.
*
* @deprecated 3.3.0 No longer shown.
+ * @return void
*/
public static function theme_check_notice() {
wc_deprecated_function( 'WC_Admin_Notices::theme_check_notice', '3.3.0' );
diff --git a/plugins/woocommerce/includes/admin/helper/class-wc-helper.php b/plugins/woocommerce/includes/admin/helper/class-wc-helper.php
index 5d2d57dd76..0b6445ead6 100644
--- a/plugins/woocommerce/includes/admin/helper/class-wc-helper.php
+++ b/plugins/woocommerce/includes/admin/helper/class-wc-helper.php
@@ -43,6 +43,8 @@ class WC_Helper {
/**
* Loads the helper class, runs on init.
+ *
+ * @return void
*/
public static function load() {
self::includes();
@@ -57,6 +59,8 @@ class WC_Helper {
/**
* Remove all notes signaling an error with the WCCOM API, when the request was successful.
+ *
+ * @return void
*/
protected static function remove_api_error_notice() {
try {
@@ -79,6 +83,8 @@ class WC_Helper {
/**
* Adds at most one note signaling that there was an error with the WCCOM API.
+ *
+ * @return void
*/
protected static function add_api_error_notice() {
try {
@@ -132,6 +138,8 @@ class WC_Helper {
/**
* Include supporting helper classes.
+ *
+ * @return void
*/
protected static function includes() {
include_once __DIR__ . '/class-wc-helper-options.php';
@@ -150,6 +158,8 @@ class WC_Helper {
/**
* Render the helper section content based on context.
+ *
+ * @return void
*/
public static function render_helper_output() {
$auth = WC_Helper_Options::get( 'auth' );
@@ -526,6 +536,8 @@ class WC_Helper {
*
* @param array $subscriptions The subscriptions array, passed by ref.
* @param string $filter The filter.
+ *
+ * @return void
*/
private static function _filter( &$subscriptions, $filter ) {
switch ( $filter ) {
@@ -569,6 +581,8 @@ class WC_Helper {
/**
* Enqueue admin scripts and styles.
+ *
+ * @return void
*/
public static function admin_enqueue_scripts() {
$screen = get_current_screen();
@@ -771,6 +785,8 @@ class WC_Helper {
/**
* Maybe redirect to the new Marketplace installer.
+ *
+ * @return void
*/
private static function maybe_redirect_to_new_marketplace_installer() {
// phpcs:disable WordPress.Security.NonceVerification.Recommended
@@ -850,6 +866,8 @@ class WC_Helper {
/**
* Initiate a new OAuth connection.
+ *
+ * @return never
*/
private static function _helper_auth_connect() {
if ( empty( $_GET['wc-helper-nonce'] ) || ! wp_verify_nonce( wp_unslash( $_GET['wc-helper-nonce'] ), 'connect' ) ) { // phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized
@@ -938,6 +956,8 @@ class WC_Helper {
/**
* Return from WooCommerce.com OAuth flow.
+ *
+ * @return never
*/
private static function _helper_auth_return() {
if ( empty( $_GET['wc-helper-nonce'] ) || ! wp_verify_nonce( wp_unslash( $_GET['wc-helper-nonce'] ), 'connect' ) ) { // phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized
@@ -1034,6 +1054,8 @@ class WC_Helper {
/**
* Disconnect from WooCommerce.com, clear OAuth tokens.
+ *
+ * @return never
*/
private static function _helper_auth_disconnect() {
if ( empty( $_GET['wc-helper-nonce'] ) || ! wp_verify_nonce( wp_unslash( $_GET['wc-helper-nonce'] ), 'disconnect' ) ) { // phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized
@@ -1062,6 +1084,8 @@ class WC_Helper {
/**
* User hit the Refresh button, clear all caches.
+ *
+ * @return never
*/
private static function _helper_auth_refresh() {
if ( empty( $_GET['wc-helper-nonce'] ) || ! wp_verify_nonce( wp_unslash( $_GET['wc-helper-nonce'] ), 'refresh' ) ) { // phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized
@@ -1088,6 +1112,8 @@ class WC_Helper {
* Flush helper authentication cache.
*
* @throws Exception If there is an error refreshing subscriptions.
+ *
+ * @return void
*/
public static function refresh_helper_subscriptions() {
/**
@@ -1104,6 +1130,8 @@ class WC_Helper {
/**
* Active a product subscription.
+ *
+ * @return never
*/
private static function _helper_subscription_activate() {
$product_key = isset( $_GET['wc-helper-product-key'] ) ? wc_clean( wp_unslash( $_GET['wc-helper-product-key'] ) ) : '';
@@ -1223,6 +1251,8 @@ class WC_Helper {
/**
* Deactivate a product subscription.
+ *
+ * @return never
*/
private static function helper_subscription_deactivate() {
$product_key = isset( $_GET['wc-helper-product-key'] ) ? wc_clean( wp_unslash( $_GET['wc-helper-product-key'] ) ) : '';
@@ -1335,6 +1365,8 @@ class WC_Helper {
/**
* Deactivate a plugin.
+ *
+ * @return never
*/
private static function _helper_plugin_deactivate() {
$product_id = isset( $_GET['wc-helper-product-id'] ) ? absint( $_GET['wc-helper-product-id'] ) : 0;
@@ -1578,6 +1610,8 @@ class WC_Helper {
/**
* Obtain a list of data about locally installed Woo extensions.
+ *
+ * @return array
*/
public static function get_local_woo_plugins() {
if ( ! function_exists( 'get_plugins' ) ) {
@@ -1641,6 +1675,8 @@ class WC_Helper {
/**
* Get locally installed Woo themes.
+ *
+ * @return array
*/
public static function get_local_woo_themes() {
$themes = wp_get_themes();
@@ -2215,6 +2251,8 @@ class WC_Helper {
* need to visit the Helper UI at all after installing a new extension.
*
* @param string $filename The filename of the activated plugin.
+ *
+ * @return void
*/
public static function activated_plugin( $filename ) {
$plugins = self::get_local_woo_plugins();
@@ -2279,6 +2317,8 @@ class WC_Helper {
* need to visit the Helper UI at all after installing a new extension.
*
* @param string $product_id The product id of the activated theme.
+ *
+ * @return void
*/
public static function connect_theme( $product_id ) {
// Make sure we have a connection.
@@ -2347,6 +2387,8 @@ class WC_Helper {
* associated with the extension.
*
* @param string $filename The filename of the deactivated plugin.
+ *
+ * @return void
*/
public static function deactivated_plugin( $filename ) {
$plugins = self::get_local_woo_plugins();
@@ -2426,6 +2468,8 @@ class WC_Helper {
/**
* Various Helper-related admin notices.
+ *
+ * @return void
*/
public static function admin_notices() {
if ( apply_filters( 'woocommerce_helper_suppress_admin_notices', false ) ) {
@@ -2509,6 +2553,8 @@ class WC_Helper {
/**
* Flush subscriptions cache.
+ *
+ * @return void
*/
public static function _flush_subscriptions_cache() {
delete_transient( '_woocommerce_helper_subscriptions' );
@@ -2516,6 +2562,8 @@ class WC_Helper {
/**
* Flush product-usage-notice-rules cache.
+ *
+ * @return void
*/
public static function flush_product_usage_notice_rules_cache() {
delete_transient( '_woocommerce_helper_product_usage_notice_rules' );
@@ -2523,6 +2571,8 @@ class WC_Helper {
/**
* Flush connection data cache.
+ *
+ * @return void
*/
public static function flush_connection_data_cache() {
delete_transient( self::CACHE_KEY_CONNECTION_DATA );
@@ -2530,6 +2580,8 @@ class WC_Helper {
/**
* Flush auth cache.
+ *
+ * @return bool
*/
public static function _flush_authentication_cache() {
$request = WC_Helper_API::get(
@@ -2562,6 +2614,8 @@ class WC_Helper {
/**
* Flush updates cache.
+ *
+ * @return void
*/
private static function _flush_updates_cache() {
WC_Helper_Updater::flush_updates_cache();
@@ -2596,6 +2650,8 @@ class WC_Helper {
*
* @param string $message Log message.
* @param string $level Optional, defaults to info, valid levels: emergency|alert|critical|error|warning|notice|info|debug.
+ *
+ * @return void
*/
public static function log( $message, $level = 'info' ) {
if ( ! Constants::is_true( 'WP_DEBUG' ) ) {
diff --git a/plugins/woocommerce/includes/class-wc-coupon.php b/plugins/woocommerce/includes/class-wc-coupon.php
index fb083847b9..51ecd52595 100644
--- a/plugins/woocommerce/includes/class-wc-coupon.php
+++ b/plugins/woocommerce/includes/class-wc-coupon.php
@@ -167,6 +167,7 @@ class WC_Coupon extends WC_Legacy_Coupon {
* If the object has an ID, read using the data store.
*
* @since 3.4.1
+ * @return void
*/
protected function read_object_from_database() {
$this->data_store = WC_Data_Store::load( 'coupon' );
@@ -535,6 +536,7 @@ class WC_Coupon extends WC_Legacy_Coupon {
*
* @since 3.0.0
* @param string $code Coupon code.
+ * @return void
*/
public function set_code( $code ) {
$this->set_prop( 'code', wc_format_coupon_code( $code ) );
@@ -545,6 +547,7 @@ class WC_Coupon extends WC_Legacy_Coupon {
*
* @since 3.0.0
* @param string $description Description.
+ * @return void
*/
public function set_description( $description ) {
$this->set_prop( 'description', $description );
@@ -555,6 +558,7 @@ class WC_Coupon extends WC_Legacy_Coupon {
*
* @since 3.0.0
* @param string $status Status.
+ * @return void
*/
public function set_status( $status ) {
$this->set_prop( 'status', $status );
@@ -565,6 +569,7 @@ class WC_Coupon extends WC_Legacy_Coupon {
*
* @since 3.0.0
* @param string $discount_type Discount type.
+ * @return void
*/
public function set_discount_type( $discount_type ) {
$this->set_discount_type_core( $discount_type, true );
@@ -576,6 +581,7 @@ class WC_Coupon extends WC_Legacy_Coupon {
* @since 10.3.0
* @param string $discount_type Discount type.
* @param bool $verify_discount_type Whether to verify if the discount type is valid.
+ * @return void
*/
private function set_discount_type_core( $discount_type, bool $verify_discount_type ) {
if ( 'percent_product' === $discount_type ) {
@@ -592,6 +598,7 @@ class WC_Coupon extends WC_Legacy_Coupon {
*
* @since 3.0.0
* @param float|string $amount Amount.
+ * @return void
*/
public function set_amount( $amount ) {
$amount = wc_format_decimal( $amount );
@@ -616,6 +623,7 @@ class WC_Coupon extends WC_Legacy_Coupon {
*
* @since 3.0.0
* @param string|integer|null $date UTC timestamp, or ISO 8601 DateTime. If the DateTime string has no timezone or offset, WordPress site timezone will be assumed. Null if there is no date.
+ * @return void
*/
public function set_date_expires( $date ) {
$this->set_date_prop( 'date_expires', $date );
@@ -626,6 +634,7 @@ class WC_Coupon extends WC_Legacy_Coupon {
*
* @since 3.0.0
* @param string|integer|null $date UTC timestamp, or ISO 8601 DateTime. If the DateTime string has no timezone or offset, WordPress site timezone will be assumed. Null if there is no date.
+ * @return void
*/
public function set_date_created( $date ) {
$this->set_date_prop( 'date_created', $date );
@@ -636,6 +645,7 @@ class WC_Coupon extends WC_Legacy_Coupon {
*
* @since 3.0.0
* @param string|integer|null $date UTC timestamp, or ISO 8601 DateTime. If the DateTime string has no timezone or offset, WordPress site timezone will be assumed. Null if there is no date.
+ * @return void
*/
public function set_date_modified( $date ) {
$this->set_date_prop( 'date_modified', $date );
@@ -646,6 +656,7 @@ class WC_Coupon extends WC_Legacy_Coupon {
*
* @since 3.0.0
* @param int $usage_count Usage count.
+ * @return void
*/
public function set_usage_count( $usage_count ) {
$this->set_prop( 'usage_count', absint( $usage_count ) );
@@ -656,6 +667,7 @@ class WC_Coupon extends WC_Legacy_Coupon {
*
* @since 3.0.0
* @param bool $is_individual_use If is for individual use.
+ * @return void
*/
public function set_individual_use( $is_individual_use ) {
$this->set_prop( 'individual_use', (bool) $is_individual_use );
@@ -666,6 +678,7 @@ class WC_Coupon extends WC_Legacy_Coupon {
*
* @since 3.0.0
* @param array $product_ids Products IDs.
+ * @return void
*/
public function set_product_ids( $product_ids ) {
$this->set_prop( 'product_ids', array_filter( wp_parse_id_list( (array) $product_ids ) ) );
@@ -676,6 +689,7 @@ class WC_Coupon extends WC_Legacy_Coupon {
*
* @since 3.0.0
* @param array $excluded_product_ids Exclude product IDs.
+ * @return void
*/
public function set_excluded_product_ids( $excluded_product_ids ) {
$this->set_prop( 'excluded_product_ids', array_filter( wp_parse_id_list( (array) $excluded_product_ids ) ) );
@@ -686,6 +700,7 @@ class WC_Coupon extends WC_Legacy_Coupon {
*
* @since 3.0.0
* @param int $usage_limit Usage limit.
+ * @return void
*/
public function set_usage_limit( $usage_limit ) {
$this->set_prop( 'usage_limit', absint( $usage_limit ) );
@@ -696,6 +711,7 @@ class WC_Coupon extends WC_Legacy_Coupon {
*
* @since 3.0.0
* @param int $usage_limit Usage limit.
+ * @return void
*/
public function set_usage_limit_per_user( $usage_limit ) {
$this->set_prop( 'usage_limit_per_user', absint( $usage_limit ) );
@@ -706,6 +722,7 @@ class WC_Coupon extends WC_Legacy_Coupon {
*
* @since 3.0.0
* @param int|null $limit_usage_to_x_items Limit usage to X items.
+ * @return void
*/
public function set_limit_usage_to_x_items( $limit_usage_to_x_items ) {
$this->set_prop( 'limit_usage_to_x_items', is_null( $limit_usage_to_x_items ) ? null : absint( $limit_usage_to_x_items ) );
@@ -716,6 +733,7 @@ class WC_Coupon extends WC_Legacy_Coupon {
*
* @since 3.0.0
* @param bool $free_shipping If grant free shipping.
+ * @return void
*/
public function set_free_shipping( $free_shipping ) {
$this->set_prop( 'free_shipping', (bool) $free_shipping );
@@ -726,6 +744,7 @@ class WC_Coupon extends WC_Legacy_Coupon {
*
* @since 3.0.0
* @param array $product_categories List of product categories.
+ * @return void
*/
public function set_product_categories( $product_categories ) {
$this->set_prop( 'product_categories', array_filter( wp_parse_id_list( (array) $product_categories ) ) );
@@ -736,6 +755,7 @@ class WC_Coupon extends WC_Legacy_Coupon {
*
* @since 3.0.0
* @param array $excluded_product_categories List of excluded product categories.
+ * @return void
*/
public function set_excluded_product_categories( $excluded_product_categories ) {
$this->set_prop( 'excluded_product_categories', array_filter( wp_parse_id_list( (array) $excluded_product_categories ) ) );
@@ -746,6 +766,7 @@ class WC_Coupon extends WC_Legacy_Coupon {
*
* @since 3.0.0
* @param bool $exclude_sale_items If should exclude sale items.
+ * @return void
*/
public function set_exclude_sale_items( $exclude_sale_items ) {
$this->set_prop( 'exclude_sale_items', (bool) $exclude_sale_items );
@@ -756,6 +777,7 @@ class WC_Coupon extends WC_Legacy_Coupon {
*
* @since 3.0.0
* @param float|string $amount Minimum amount.
+ * @return void
*/
public function set_minimum_amount( $amount ) {
$this->set_prop( 'minimum_amount', wc_format_decimal( $amount ) );
@@ -766,6 +788,7 @@ class WC_Coupon extends WC_Legacy_Coupon {
*
* @since 3.0.0
* @param float|string $amount Maximum amount.
+ * @return void
*/
public function set_maximum_amount( $amount ) {
if ( (float) $amount && (float) $this->get_minimum_amount() > (float) $amount ) {
@@ -780,6 +803,7 @@ class WC_Coupon extends WC_Legacy_Coupon {
*
* @since 3.0.0
* @param array $emails List of emails.
+ * @return void
*/
public function set_email_restrictions( $emails = array() ) {
$emails = array_filter( array_map( 'sanitize_email', array_map( 'strtolower', (array) $emails ) ) );
@@ -796,6 +820,7 @@ class WC_Coupon extends WC_Legacy_Coupon {
*
* @since 3.0.0
* @param array $used_by List of user IDs.
+ * @return void
*/
public function set_used_by( $used_by ) {
$this->set_prop( 'used_by', array_filter( $used_by ) );
@@ -806,6 +831,7 @@ class WC_Coupon extends WC_Legacy_Coupon {
*
* @param boolean $virtual Whether it is virtual or not.
* @since 3.2.0
+ * @return void
*/
public function set_virtual( $virtual ) {
$this->set_prop( 'virtual', (bool) $virtual );
@@ -823,6 +849,7 @@ class WC_Coupon extends WC_Legacy_Coupon {
* @since 3.0.0
* @param string $code Coupon code.
* @param array $coupon Array of coupon properties.
+ * @return void
*/
public function read_manual_coupon( $code, $coupon ) {
foreach ( $coupon as $key => $value ) {
@@ -871,6 +898,7 @@ class WC_Coupon extends WC_Legacy_Coupon {
*
* @param string $used_by Either user ID or billing email.
* @param WC_Order $order If provided, will clear the coupons held by this order.
+ * @return void
*/
public function increase_usage_count( $used_by = '', $order = null ) {
if ( $this->get_id() && $this->data_store ) {
@@ -888,6 +916,7 @@ class WC_Coupon extends WC_Legacy_Coupon {
* Decrease usage count for current coupon.
*
* @param string $used_by Either user ID or billing email.
+ * @return void
*/
public function decrease_usage_count( $used_by = '' ) {
if ( $this->get_id() && $this->get_usage_count() > 0 && $this->data_store ) {
@@ -1009,6 +1038,7 @@ class WC_Coupon extends WC_Legacy_Coupon {
*
* @param int $msg_code Message/error code.
* @param string $notice_type Notice type.
+ * @return void
*/
public function add_coupon_message( $msg_code, $notice_type = 'success' ) {
if ( $msg_code < 200 ) {
@@ -1326,6 +1356,7 @@ class WC_Coupon extends WC_Legacy_Coupon {
* Sets the coupon parameters from a reapply information set generated with 'get_short_info'.
*
* @param string $info JSON string with reapply information as returned by 'get_short_info'.
+ * @return void
*/
public function set_short_info( string $info ) {
$data = self::parse_short_info( $info );
diff --git a/plugins/woocommerce/includes/class-wc-post-data.php b/plugins/woocommerce/includes/class-wc-post-data.php
index 1dc1dfaabf..2b7635b007 100644
--- a/plugins/woocommerce/includes/class-wc-post-data.php
+++ b/plugins/woocommerce/includes/class-wc-post-data.php
@@ -33,6 +33,8 @@ class WC_Post_Data {
/**
* Hook in methods.
+ *
+ * @return void
*/
public static function init() {
add_filter( 'post_type_link', array( __CLASS__, 'variation_post_link' ), 10, 2 );
@@ -103,6 +105,8 @@ class WC_Post_Data {
/**
* Sync products queued to sync.
+ *
+ * @return void
*/
public static function do_deferred_product_sync() {
global $wc_deferred_product_sync;
@@ -117,6 +121,8 @@ class WC_Post_Data {
* Sync a product.
*
* @param int $product_id Product ID.
+ *
+ * @return void
*/
public static function deferred_product_sync( $product_id ) {
$product = wc_get_product( $product_id );
@@ -132,6 +138,8 @@ class WC_Post_Data {
* @param string $new_status New status.
* @param string $old_status Old status.
* @param WP_Post $post Post data.
+ *
+ * @return void
*/
public static function transition_post_status( $new_status, $old_status, $post ) {
if ( ( ProductStatus::PUBLISH === $new_status || ProductStatus::PUBLISH === $old_status ) && in_array( $post->post_type, array( 'product', 'product_variation' ), true ) ) {
@@ -141,6 +149,8 @@ class WC_Post_Data {
/**
* Delete product view transients when needed e.g. when post status changes, or visibility/stock status is modified.
+ *
+ * @return void
*/
public static function delete_product_query_transients() {
WC_Cache_Helper::get_transient_version( 'product_query', true );
@@ -154,6 +164,8 @@ class WC_Post_Data {
* @param WC_Product $product Product data.
* @param string $from Origin type.
* @param string $to New type.
+ *
+ * @return void
*/
public static function product_type_changed( $product, $from, $to ) {
/**
@@ -179,6 +191,8 @@ class WC_Post_Data {
* @param int $term_id Term ID.
* @param int $tt_id Term taxonomy ID.
* @param string $taxonomy Taxonomy slug.
+ *
+ * @return void
*/
public static function edit_term( $term_id, $tt_id, $taxonomy ) {
if ( strpos( $taxonomy, 'pa_' ) === 0 ) {
@@ -194,6 +208,8 @@ class WC_Post_Data {
* @param int $term_id Term ID.
* @param int $tt_id Term taxonomy ID.
* @param string $taxonomy Taxonomy slug.
+ *
+ * @return void
*/
public static function edited_term( $term_id, $tt_id, $taxonomy ) {
if ( ! is_null( self::$editing_term ) && strpos( $taxonomy, 'pa_' ) === 0 ) {
@@ -324,6 +340,8 @@ class WC_Post_Data {
* @since 9.8.0
*
* @param mixed $id ID of post being deleted.
+ *
+ * @return void
*/
public static function delete_post_data( $id ) {
$container = wc_get_container();
@@ -368,6 +386,8 @@ class WC_Post_Data {
* Removes variations etc. belonging to a deleted post, and clears transients, if the user has permission.
*
* @param mixed $id ID of post being deleted.
+ *
+ * @return void
*/
public static function delete_post( $id ) {
$container = wc_get_container();
@@ -382,6 +402,8 @@ class WC_Post_Data {
* Trash post.
*
* @param mixed $id Post ID.
+ *
+ * @return void
*/
public static function trash_post( $id ) {
if ( ! $id ) {
@@ -416,6 +438,8 @@ class WC_Post_Data {
* Untrash post.
*
* @param mixed $id Post ID.
+ *
+ * @return void
*/
public static function untrash_post( $id ) {
if ( ! $id ) {
@@ -452,6 +476,8 @@ class WC_Post_Data {
* Clear global unique id if it's not unique.
*
* @param mixed $id Post ID.
+ *
+ * @return void
*/
private static function clear_global_unique_id_if_necessary( $id ) {
$product = wc_get_product( $id );
@@ -476,6 +502,8 @@ class WC_Post_Data {
*
* @since 3.2.0
* @param int $order_id Order ID.
+ *
+ * @return void
*/
public static function before_delete_order( $order_id ) {
if ( OrderUtil::is_order( $order_id, wc_get_order_types() ) ) {
@@ -510,6 +538,8 @@ class WC_Post_Data {
* Remove item meta on permanent deletion.
*
* @param int $postid Post ID.
+ *
+ * @return void
*/
public static function delete_order_items( $postid ) {
global $wpdb;
@@ -534,6 +564,8 @@ class WC_Post_Data {
* Remove downloadable permissions on permanent order deletion.
*
* @param int $postid Post ID.
+ *
+ * @return void
*/
public static function delete_order_downloadable_permissions( $postid ) {
if ( OrderUtil::is_order( $postid, wc_get_order_types() ) ) {
@@ -553,6 +585,8 @@ class WC_Post_Data {
* @param int $object_id Object ID.
* @param string $meta_key Meta key.
* @param mixed $meta_value Meta value.
+ *
+ * @return void
*/
public static function flush_object_meta_cache( $meta_id, $object_id, $meta_key, $meta_value ) {
WC_Cache_Helper::invalidate_cache_group( 'object_' . $object_id );
@@ -567,6 +601,8 @@ class WC_Post_Data {
* @param array $tt_ids Term ids array.
* @param string $taxonomy Taxonomy name.
* @param bool $append Are we appending or setting terms.
+ *
+ * @return void
*/
public static function force_default_term( $object_id, $terms, $tt_ids, $taxonomy, $append ) {
if ( ! $append && 'product_cat' === $taxonomy && empty( $tt_ids ) && 'product' === get_post_type( $object_id ) ) {
@@ -590,6 +626,8 @@ class WC_Post_Data {
* @param array $old_tt_ids The old array of term taxonomy IDs.
*
* @since 10.4.0
+ *
+ * @return void
*/
public static function recount_terms_for_product_visibility_change( $object_id, $terms, $tt_ids, $taxonomy, $append, $old_tt_ids ) {
if ( 'product_visibility' !== $taxonomy ) {
@@ -649,6 +687,8 @@ class WC_Post_Data {
* @param string $meta_key Meta key.
* @param mixed $meta_value Meta value.
* @deprecated 3.3
+ *
+ * @return void
*/
public static function sync_product_stock_status( $meta_id, $object_id, $meta_key, $meta_value ) {}
@@ -659,6 +699,8 @@ class WC_Post_Data {
* @param int $product_id Product ID.
* @param int $variation_id Variation ID. Optional product variation identifier.
* @param array $downloads Newly set files.
+ *
+ * @return void
*/
public static function process_product_file_download_paths( $product_id, $variation_id, $downloads ) {
wc_deprecated_function( __FUNCTION__, '3.3' );
@@ -674,6 +716,8 @@ class WC_Post_Data {
* @param string $taxonomy Taxonomy slug.
* @param mixed $append Whether to append new terms to the old terms.
* @param array $old_tt_ids Old array of term taxonomy IDs.
+ *
+ * @return void
*/
public static function set_object_terms( $object_id, $terms, $tt_ids, $taxonomy, $append, $old_tt_ids ) {
if ( in_array( get_post_type( $object_id ), array( 'product', 'product_variation' ), true ) ) {
@@ -686,6 +730,8 @@ class WC_Post_Data {
*
* @since 10.2.0
* @param array $variation_ids Array of variation IDs.
+ *
+ * @return void
*/
private static function regenerate_variation_summaries( $variation_ids ) {
if ( empty( $variation_ids ) ) {
@@ -704,6 +750,8 @@ class WC_Post_Data {
*
* @since 10.2.0
* @param int $variation_id Variation ID.
+ *
+ * @return void
*/
public static function regenerate_variation_attribute_summary( $variation_id ) {
global $wpdb;
@@ -767,6 +815,8 @@ class WC_Post_Data {
* @param int $attribute_id Attribute ID.
* @param string $attribute Attribute name.
* @param string $old_slug Old attribute slug.
+ *
+ * @return void
*/
public static function handle_global_attribute_updated( $attribute_id, $attribute, $old_slug ) {
// We use this trigger for both updates and deletions of global attributes.
@@ -825,6 +875,8 @@ class WC_Post_Data {
*
* @since 10.2.0
* @param string $taxonomy Attribute taxonomy.
+ *
+ * @return void
*/
public static function regenerate_attribute_variation_summaries( $taxonomy ) {
// phpcs:disable WordPress.DB.SlowDBQuery.slow_db_query_meta_query
@@ -850,6 +902,8 @@ class WC_Post_Data {
*
* @since 10.2.0
* @param WC_Product $product The variable product whose attributes were updated.
+ *
+ * @return void
*/
public static function on_product_attributes_updated( $product ) {
if ( $product->is_type( 'variable' ) ) {
@@ -892,6 +946,8 @@ class WC_Post_Data {
*
* @since 10.2.0
* @param int $product_id Variable product ID.
+ *
+ * @return void
*/
public static function regenerate_product_variation_summaries( $product_id ) {
$product = wc_get_product( $product_id );
@@ -909,6 +965,8 @@ class WC_Post_Data {
* @param int $term_id Term ID.
* @param int $tt_id Term taxonomy ID.
* @param string $taxonomy Taxonomy slug.
+ *
+ * @return void
*/
public static function handle_attribute_term_updated( $term_id, $tt_id, $taxonomy ) {
if ( strpos( $taxonomy, 'pa_' ) !== 0 ) {
@@ -962,6 +1020,8 @@ class WC_Post_Data {
* @param int $tt_id Term taxonomy ID.
* @param string $taxonomy Taxonomy slug.
* @param WP_Term $deleted_term Copy of the already-deleted term.
+ *
+ * @return void
*/
public static function handle_attribute_term_deleted( $term_id, $tt_id, $taxonomy, $deleted_term ) {
if ( strpos( $taxonomy, 'pa_' ) !== 0 ) {
@@ -1040,6 +1100,8 @@ class WC_Post_Data {
* @since 10.2.0
* @param string $taxonomy Taxonomy slug.
* @param string $term_slug Term slug.
+ *
+ * @return void
*/
public static function regenerate_term_variation_summaries( $taxonomy, $term_slug ) {
global $wpdb;
diff --git a/plugins/woocommerce/phpstan-baseline.neon b/plugins/woocommerce/phpstan-baseline.neon
index c83435ea7e..3f7a933f93 100644
--- a/plugins/woocommerce/phpstan-baseline.neon
+++ b/plugins/woocommerce/phpstan-baseline.neon
@@ -672,54 +672,12 @@ parameters:
count: 1
path: includes/abstracts/abstract-wc-order.php
- -
- message: '#^Method WC_Abstract_Order\:\:add_order_item_totals_discount_row\(\) has no return type specified\.$#'
- identifier: missingType.return
- count: 1
- path: includes/abstracts/abstract-wc-order.php
-
- -
- message: '#^Method WC_Abstract_Order\:\:add_order_item_totals_fee_rows\(\) has no return type specified\.$#'
- identifier: missingType.return
- count: 1
- path: includes/abstracts/abstract-wc-order.php
-
- -
- message: '#^Method WC_Abstract_Order\:\:add_order_item_totals_shipping_row\(\) has no return type specified\.$#'
- identifier: missingType.return
- count: 1
- path: includes/abstracts/abstract-wc-order.php
-
- -
- message: '#^Method WC_Abstract_Order\:\:add_order_item_totals_subtotal_row\(\) has no return type specified\.$#'
- identifier: missingType.return
- count: 1
- path: includes/abstracts/abstract-wc-order.php
-
- -
- message: '#^Method WC_Abstract_Order\:\:add_order_item_totals_tax_rows\(\) has no return type specified\.$#'
- identifier: missingType.return
- count: 1
- path: includes/abstracts/abstract-wc-order.php
-
- -
- message: '#^Method WC_Abstract_Order\:\:add_order_item_totals_total_row\(\) has no return type specified\.$#'
- identifier: missingType.return
- count: 1
- path: includes/abstracts/abstract-wc-order.php
-
-
message: '#^Method WC_Abstract_Order\:\:calculate_shipping\(\) should return float but returns string\.$#'
identifier: return.type
count: 1
path: includes/abstracts/abstract-wc-order.php
- -
- message: '#^Method WC_Abstract_Order\:\:calculate_taxes\(\) has no return type specified\.$#'
- identifier: missingType.return
- count: 1
- path: includes/abstracts/abstract-wc-order.php
-
-
message: '#^Method WC_Abstract_Order\:\:get_coupons\(\) should return array\<WC_Order_Item_Coupon\> but returns array\<WC_Order_Item\>\.$#'
identifier: return.type
@@ -750,132 +708,6 @@ parameters:
count: 1
path: includes/abstracts/abstract-wc-order.php
- -
- message: '#^Method WC_Abstract_Order\:\:handle_exception\(\) has no return type specified\.$#'
- identifier: missingType.return
- count: 1
- path: includes/abstracts/abstract-wc-order.php
-
- -
- message: '#^Method WC_Abstract_Order\:\:hold_applied_coupons\(\) has no return type specified\.$#'
- identifier: missingType.return
- count: 1
- path: includes/abstracts/abstract-wc-order.php
-
- -
- message: '#^Method WC_Abstract_Order\:\:recalculate_coupons\(\) has no return type specified\.$#'
- identifier: missingType.return
- count: 1
- path: includes/abstracts/abstract-wc-order.php
-
- -
- message: '#^Method WC_Abstract_Order\:\:remove_order_items\(\) has no return type specified\.$#'
- identifier: missingType.return
- count: 1
- path: includes/abstracts/abstract-wc-order.php
-
- -
- message: '#^Method WC_Abstract_Order\:\:save_items\(\) has no return type specified\.$#'
- identifier: missingType.return
- count: 1
- path: includes/abstracts/abstract-wc-order.php
-
- -
- message: '#^Method WC_Abstract_Order\:\:set_cart_tax\(\) has no return type specified\.$#'
- identifier: missingType.return
- count: 1
- path: includes/abstracts/abstract-wc-order.php
-
- -
- message: '#^Method WC_Abstract_Order\:\:set_cogs_total_value\(\) has no return type specified\.$#'
- identifier: missingType.return
- count: 1
- path: includes/abstracts/abstract-wc-order.php
-
- -
- message: '#^Method WC_Abstract_Order\:\:set_coupon_discount_amounts\(\) has no return type specified\.$#'
- identifier: missingType.return
- count: 1
- path: includes/abstracts/abstract-wc-order.php
-
- -
- message: '#^Method WC_Abstract_Order\:\:set_currency\(\) has no return type specified\.$#'
- identifier: missingType.return
- count: 1
- path: includes/abstracts/abstract-wc-order.php
-
- -
- message: '#^Method WC_Abstract_Order\:\:set_date_created\(\) has no return type specified\.$#'
- identifier: missingType.return
- count: 1
- path: includes/abstracts/abstract-wc-order.php
-
- -
- message: '#^Method WC_Abstract_Order\:\:set_date_modified\(\) has no return type specified\.$#'
- identifier: missingType.return
- count: 1
- path: includes/abstracts/abstract-wc-order.php
-
- -
- message: '#^Method WC_Abstract_Order\:\:set_discount_tax\(\) has no return type specified\.$#'
- identifier: missingType.return
- count: 1
- path: includes/abstracts/abstract-wc-order.php
-
- -
- message: '#^Method WC_Abstract_Order\:\:set_discount_total\(\) has no return type specified\.$#'
- identifier: missingType.return
- count: 1
- path: includes/abstracts/abstract-wc-order.php
-
- -
- message: '#^Method WC_Abstract_Order\:\:set_item_discount_amounts\(\) has no return type specified\.$#'
- identifier: missingType.return
- count: 1
- path: includes/abstracts/abstract-wc-order.php
-
- -
- message: '#^Method WC_Abstract_Order\:\:set_parent_id\(\) has no return type specified\.$#'
- identifier: missingType.return
- count: 1
- path: includes/abstracts/abstract-wc-order.php
-
- -
- message: '#^Method WC_Abstract_Order\:\:set_prices_include_tax\(\) has no return type specified\.$#'
- identifier: missingType.return
- count: 1
- path: includes/abstracts/abstract-wc-order.php
-
- -
- message: '#^Method WC_Abstract_Order\:\:set_shipping_tax\(\) has no return type specified\.$#'
- identifier: missingType.return
- count: 1
- path: includes/abstracts/abstract-wc-order.php
-
- -
- message: '#^Method WC_Abstract_Order\:\:set_shipping_total\(\) has no return type specified\.$#'
- identifier: missingType.return
- count: 1
- path: includes/abstracts/abstract-wc-order.php
-
- -
- message: '#^Method WC_Abstract_Order\:\:set_total_tax\(\) has no return type specified\.$#'
- identifier: missingType.return
- count: 1
- path: includes/abstracts/abstract-wc-order.php
-
- -
- message: '#^Method WC_Abstract_Order\:\:set_version\(\) has no return type specified\.$#'
- identifier: missingType.return
- count: 1
- path: includes/abstracts/abstract-wc-order.php
-
- -
- message: '#^Method WC_Abstract_Order\:\:update_taxes\(\) has no return type specified\.$#'
- identifier: missingType.return
- count: 1
- path: includes/abstracts/abstract-wc-order.php
-
-
message: '#^One or more @param tags has an invalid name or invalid syntax\.$#'
identifier: phpDoc.parseError
@@ -2670,198 +2502,6 @@ parameters:
count: 1
path: includes/admin/class-wc-admin-meta-boxes.php
- -
- message: '#^Method WC_Admin_Notices\:\:add_custom_notice\(\) has no return type specified\.$#'
- identifier: missingType.return
- count: 1
- path: includes/admin/class-wc-admin-notices.php
-
- -
- message: '#^Method WC_Admin_Notices\:\:add_maxmind_missing_license_key_notice\(\) has no return type specified\.$#'
- identifier: missingType.return
- count: 1
- path: includes/admin/class-wc-admin-notices.php
-
- -
- message: '#^Method WC_Admin_Notices\:\:add_min_version_notice\(\) has no return type specified\.$#'
- identifier: missingType.return
- count: 1
- path: includes/admin/class-wc-admin-notices.php
-
- -
- message: '#^Method WC_Admin_Notices\:\:add_notice\(\) has no return type specified\.$#'
- identifier: missingType.return
- count: 1
- path: includes/admin/class-wc-admin-notices.php
-
- -
- message: '#^Method WC_Admin_Notices\:\:add_notices\(\) has no return type specified\.$#'
- identifier: missingType.return
- count: 1
- path: includes/admin/class-wc-admin-notices.php
-
- -
- message: '#^Method WC_Admin_Notices\:\:add_redirect_download_method_notice\(\) has no return type specified\.$#'
- identifier: missingType.return
- count: 1
- path: includes/admin/class-wc-admin-notices.php
-
- -
- message: '#^Method WC_Admin_Notices\:\:base_tables_missing_notice\(\) has no return type specified\.$#'
- identifier: missingType.return
- count: 1
- path: includes/admin/class-wc-admin-notices.php
-
- -
- message: '#^Method WC_Admin_Notices\:\:download_directories_sync_complete\(\) has no return type specified\.$#'
- identifier: missingType.return
- count: 1
- path: includes/admin/class-wc-admin-notices.php
-
- -
- message: '#^Method WC_Admin_Notices\:\:hide_notice\(\) has no return type specified\.$#'
- identifier: missingType.return
- count: 1
- path: includes/admin/class-wc-admin-notices.php
-
- -
- message: '#^Method WC_Admin_Notices\:\:hide_notices\(\) has no return type specified\.$#'
- identifier: missingType.return
- count: 1
- path: includes/admin/class-wc-admin-notices.php
-
- -
- message: '#^Method WC_Admin_Notices\:\:init\(\) has no return type specified\.$#'
- identifier: missingType.return
- count: 1
- path: includes/admin/class-wc-admin-notices.php
-
- -
- message: '#^Method WC_Admin_Notices\:\:install_notice\(\) has no return type specified\.$#'
- identifier: missingType.return
- count: 1
- path: includes/admin/class-wc-admin-notices.php
-
- -
- message: '#^Method WC_Admin_Notices\:\:legacy_shipping_notice\(\) has no return type specified\.$#'
- identifier: missingType.return
- count: 1
- path: includes/admin/class-wc-admin-notices.php
-
- -
- message: '#^Method WC_Admin_Notices\:\:maxmind_missing_license_key_notice\(\) has no return type specified\.$#'
- identifier: missingType.return
- count: 1
- path: includes/admin/class-wc-admin-notices.php
-
- -
- message: '#^Method WC_Admin_Notices\:\:maybe_add_legacy_api_removal_notice\(\) has no return type specified\.$#'
- identifier: missingType.return
- count: 1
- path: includes/admin/class-wc-admin-notices.php
-
- -
- message: '#^Method WC_Admin_Notices\:\:maybe_remove_legacy_api_removal_notice\(\) has no return type specified\.$#'
- identifier: missingType.return
- count: 1
- path: includes/admin/class-wc-admin-notices.php
-
- -
- message: '#^Method WC_Admin_Notices\:\:no_shipping_methods_notice\(\) has no return type specified\.$#'
- identifier: missingType.return
- count: 1
- path: includes/admin/class-wc-admin-notices.php
-
- -
- message: '#^Method WC_Admin_Notices\:\:output_custom_notices\(\) has no return type specified\.$#'
- identifier: missingType.return
- count: 1
- path: includes/admin/class-wc-admin-notices.php
-
- -
- message: '#^Method WC_Admin_Notices\:\:redirect_download_method_notice\(\) has no return type specified\.$#'
- identifier: missingType.return
- count: 1
- path: includes/admin/class-wc-admin-notices.php
-
- -
- message: '#^Method WC_Admin_Notices\:\:regenerating_lookup_table_notice\(\) has no return type specified\.$#'
- identifier: missingType.return
- count: 1
- path: includes/admin/class-wc-admin-notices.php
-
- -
- message: '#^Method WC_Admin_Notices\:\:regenerating_thumbnails_notice\(\) has no return type specified\.$#'
- identifier: missingType.return
- count: 1
- path: includes/admin/class-wc-admin-notices.php
-
- -
- message: '#^Method WC_Admin_Notices\:\:remove_all_notices\(\) has no return type specified\.$#'
- identifier: missingType.return
- count: 1
- path: includes/admin/class-wc-admin-notices.php
-
- -
- message: '#^Method WC_Admin_Notices\:\:remove_notice\(\) has no return type specified\.$#'
- identifier: missingType.return
- count: 1
- path: includes/admin/class-wc-admin-notices.php
-
- -
- message: '#^Method WC_Admin_Notices\:\:reset_admin_notices\(\) has no return type specified\.$#'
- identifier: missingType.return
- count: 1
- path: includes/admin/class-wc-admin-notices.php
-
- -
- message: '#^Method WC_Admin_Notices\:\:secure_connection_notice\(\) has no return type specified\.$#'
- identifier: missingType.return
- count: 1
- path: includes/admin/class-wc-admin-notices.php
-
- -
- message: '#^Method WC_Admin_Notices\:\:set_notices\(\) has no return type specified\.$#'
- identifier: missingType.return
- count: 1
- path: includes/admin/class-wc-admin-notices.php
-
- -
- message: '#^Method WC_Admin_Notices\:\:simplify_commerce_notice\(\) has no return type specified\.$#'
- identifier: missingType.return
- count: 1
- path: includes/admin/class-wc-admin-notices.php
-
- -
- message: '#^Method WC_Admin_Notices\:\:store_notices\(\) has no return type specified\.$#'
- identifier: missingType.return
- count: 1
- path: includes/admin/class-wc-admin-notices.php
-
- -
- message: '#^Method WC_Admin_Notices\:\:template_file_check_notice\(\) has no return type specified\.$#'
- identifier: missingType.return
- count: 1
- path: includes/admin/class-wc-admin-notices.php
-
- -
- message: '#^Method WC_Admin_Notices\:\:theme_check_notice\(\) has no return type specified\.$#'
- identifier: missingType.return
- count: 1
- path: includes/admin/class-wc-admin-notices.php
-
- -
- message: '#^Method WC_Admin_Notices\:\:update_notice\(\) has no return type specified\.$#'
- identifier: missingType.return
- count: 1
- path: includes/admin/class-wc-admin-notices.php
-
- -
- message: '#^Method WC_Admin_Notices\:\:uploads_directory_is_unprotected_notice\(\) has no return type specified\.$#'
- identifier: missingType.return
- count: 1
- path: includes/admin/class-wc-admin-notices.php
-
-
message: '#^Parameter \#2 \$callback of function add_action expects callable\(\)\: mixed, array\{''WC_Admin_Notices'', mixed\} given\.$#'
identifier: argument.type
@@ -4350,261 +3990,93 @@ parameters:
count: 1
path: includes/admin/helper/class-wc-helper.php
- -
- message: '#^Argument of an invalid type array\|true supplied for foreach, only iterables are supported\.$#'
- identifier: foreach.nonIterable
- count: 2
- path: includes/admin/helper/class-wc-helper.php
-
- -
- message: '#^Binary operation "\." between ''activate\:'' and array\|string results in an error\.$#'
- identifier: binaryOp.invalid
- count: 1
- path: includes/admin/helper/class-wc-helper.php
-
- -
- message: '#^Binary operation "\." between ''deactivate\:'' and array\|string results in an error\.$#'
- identifier: binaryOp.invalid
- count: 1
- path: includes/admin/helper/class-wc-helper.php
-
- -
- message: '#^Call to an undefined method WC_Data_Store\:\:get_notes_with_name\(\)\.$#'
- identifier: method.notFound
- count: 2
- path: includes/admin/helper/class-wc-helper.php
-
- -
- message: '#^Cannot access offset ''_filename'' on array\|bool\.$#'
- identifier: offsetAccess.nonOffsetAccessible
- count: 1
- path: includes/admin/helper/class-wc-helper.php
-
- -
- message: '#^Cannot access offset ''_filename'' on non\-empty\-array\|true\.$#'
- identifier: offsetAccess.nonOffsetAccessible
- count: 1
- path: includes/admin/helper/class-wc-helper.php
-
- -
- message: '#^Cannot access offset ''_type'' on non\-empty\-array\|true\.$#'
- identifier: offsetAccess.nonOffsetAccessible
- count: 1
- path: includes/admin/helper/class-wc-helper.php
-
- -
- message: '#^Cannot access offset ''product_id'' on array\|bool\.$#'
- identifier: offsetAccess.nonOffsetAccessible
- count: 2
- path: includes/admin/helper/class-wc-helper.php
-
- -
- message: '#^Cannot access offset ''product_id'' on non\-empty\-array\|true\.$#'
- identifier: offsetAccess.nonOffsetAccessible
- count: 3
- path: includes/admin/helper/class-wc-helper.php
-
- -
- message: '#^Cannot access offset ''product_name'' on array\|bool\.$#'
- identifier: offsetAccess.nonOffsetAccessible
- count: 7
- path: includes/admin/helper/class-wc-helper.php
-
- -
- message: '#^Method WC_Helper\:\:_filter\(\) has no return type specified\.$#'
- identifier: missingType.return
- count: 1
- path: includes/admin/helper/class-wc-helper.php
-
- -
- message: '#^Method WC_Helper\:\:_flush_authentication_cache\(\) has no return type specified\.$#'
- identifier: missingType.return
- count: 1
- path: includes/admin/helper/class-wc-helper.php
-
- -
- message: '#^Method WC_Helper\:\:_flush_subscriptions_cache\(\) has no return type specified\.$#'
- identifier: missingType.return
- count: 1
- path: includes/admin/helper/class-wc-helper.php
-
- -
- message: '#^Method WC_Helper\:\:_flush_updates_cache\(\) has no return type specified\.$#'
- identifier: missingType.return
- count: 1
- path: includes/admin/helper/class-wc-helper.php
-
- -
- message: '#^Method WC_Helper\:\:_get_extensions_update_notice\(\) never returns null so it can be removed from the return type\.$#'
- identifier: return.unusedType
- count: 1
- path: includes/admin/helper/class-wc-helper.php
-
- -
- message: '#^Method WC_Helper\:\:_get_extensions_update_notice\(\) should return string\|null but empty return statement found\.$#'
- identifier: return.empty
- count: 1
- path: includes/admin/helper/class-wc-helper.php
-
- -
- message: '#^Method WC_Helper\:\:_helper_auth_connect\(\) has no return type specified\.$#'
- identifier: missingType.return
- count: 1
- path: includes/admin/helper/class-wc-helper.php
-
- -
- message: '#^Method WC_Helper\:\:_helper_auth_disconnect\(\) has no return type specified\.$#'
- identifier: missingType.return
- count: 1
- path: includes/admin/helper/class-wc-helper.php
-
- -
- message: '#^Method WC_Helper\:\:_helper_auth_refresh\(\) has no return type specified\.$#'
- identifier: missingType.return
- count: 1
- path: includes/admin/helper/class-wc-helper.php
-
- -
- message: '#^Method WC_Helper\:\:_helper_auth_return\(\) has no return type specified\.$#'
- identifier: missingType.return
- count: 1
- path: includes/admin/helper/class-wc-helper.php
-
- -
- message: '#^Method WC_Helper\:\:_helper_plugin_deactivate\(\) has no return type specified\.$#'
- identifier: missingType.return
- count: 1
- path: includes/admin/helper/class-wc-helper.php
-
- -
- message: '#^Method WC_Helper\:\:_helper_subscription_activate\(\) has no return type specified\.$#'
- identifier: missingType.return
- count: 1
- path: includes/admin/helper/class-wc-helper.php
-
- -
- message: '#^Method WC_Helper\:\:activated_plugin\(\) has no return type specified\.$#'
- identifier: missingType.return
- count: 1
- path: includes/admin/helper/class-wc-helper.php
-
- -
- message: '#^Method WC_Helper\:\:add_api_error_notice\(\) has no return type specified\.$#'
- identifier: missingType.return
- count: 1
- path: includes/admin/helper/class-wc-helper.php
-
- -
- message: '#^Method WC_Helper\:\:admin_enqueue_scripts\(\) has no return type specified\.$#'
- identifier: missingType.return
- count: 1
- path: includes/admin/helper/class-wc-helper.php
-
- -
- message: '#^Method WC_Helper\:\:admin_notices\(\) has no return type specified\.$#'
- identifier: missingType.return
- count: 1
- path: includes/admin/helper/class-wc-helper.php
-
- -
- message: '#^Method WC_Helper\:\:connect_theme\(\) has no return type specified\.$#'
- identifier: missingType.return
- count: 1
- path: includes/admin/helper/class-wc-helper.php
-
- -
- message: '#^Method WC_Helper\:\:current_screen\(\) has no return type specified\.$#'
- identifier: missingType.return
- count: 1
- path: includes/admin/helper/class-wc-helper.php
-
- -
- message: '#^Method WC_Helper\:\:deactivated_plugin\(\) has no return type specified\.$#'
- identifier: missingType.return
- count: 1
+ -
+ message: '#^Argument of an invalid type array\|true supplied for foreach, only iterables are supported\.$#'
+ identifier: foreach.nonIterable
+ count: 2
path: includes/admin/helper/class-wc-helper.php
-
- message: '#^Method WC_Helper\:\:fetch_helper_connection_info\(\) should return array\|WP_Error but returns array\|true\.$#'
- identifier: return.type
+ message: '#^Binary operation "\." between ''activate\:'' and array\|string results in an error\.$#'
+ identifier: binaryOp.invalid
count: 1
path: includes/admin/helper/class-wc-helper.php
-
- message: '#^Method WC_Helper\:\:flush_connection_data_cache\(\) has no return type specified\.$#'
- identifier: missingType.return
+ message: '#^Binary operation "\." between ''deactivate\:'' and array\|string results in an error\.$#'
+ identifier: binaryOp.invalid
count: 1
path: includes/admin/helper/class-wc-helper.php
-
- message: '#^Method WC_Helper\:\:flush_product_usage_notice_rules_cache\(\) has no return type specified\.$#'
- identifier: missingType.return
- count: 1
+ message: '#^Call to an undefined method WC_Data_Store\:\:get_notes_with_name\(\)\.$#'
+ identifier: method.notFound
+ count: 2
path: includes/admin/helper/class-wc-helper.php
-
- message: '#^Method WC_Helper\:\:get_current_filter\(\) should return string but returns array\|string\.$#'
- identifier: return.type
+ message: '#^Cannot access offset ''_filename'' on array\|bool\.$#'
+ identifier: offsetAccess.nonOffsetAccessible
count: 1
path: includes/admin/helper/class-wc-helper.php
-
- message: '#^Method WC_Helper\:\:get_local_woo_plugins\(\) has no return type specified\.$#'
- identifier: missingType.return
+ message: '#^Cannot access offset ''_filename'' on non\-empty\-array\|true\.$#'
+ identifier: offsetAccess.nonOffsetAccessible
count: 1
path: includes/admin/helper/class-wc-helper.php
-
- message: '#^Method WC_Helper\:\:get_local_woo_themes\(\) has no return type specified\.$#'
- identifier: missingType.return
+ message: '#^Cannot access offset ''_type'' on non\-empty\-array\|true\.$#'
+ identifier: offsetAccess.nonOffsetAccessible
count: 1
path: includes/admin/helper/class-wc-helper.php
-
- message: '#^Method WC_Helper\:\:helper_subscription_deactivate\(\) has no return type specified\.$#'
- identifier: missingType.return
- count: 1
+ message: '#^Cannot access offset ''product_id'' on array\|bool\.$#'
+ identifier: offsetAccess.nonOffsetAccessible
+ count: 2
path: includes/admin/helper/class-wc-helper.php
-
- message: '#^Method WC_Helper\:\:includes\(\) has no return type specified\.$#'
- identifier: missingType.return
- count: 1
+ message: '#^Cannot access offset ''product_id'' on non\-empty\-array\|true\.$#'
+ identifier: offsetAccess.nonOffsetAccessible
+ count: 3
path: includes/admin/helper/class-wc-helper.php
-
- message: '#^Method WC_Helper\:\:load\(\) has no return type specified\.$#'
- identifier: missingType.return
- count: 1
+ message: '#^Cannot access offset ''product_name'' on array\|bool\.$#'
+ identifier: offsetAccess.nonOffsetAccessible
+ count: 7
path: includes/admin/helper/class-wc-helper.php
-
- message: '#^Method WC_Helper\:\:log\(\) has no return type specified\.$#'
- identifier: missingType.return
+ message: '#^Method WC_Helper\:\:_get_extensions_update_notice\(\) never returns null so it can be removed from the return type\.$#'
+ identifier: return.unusedType
count: 1
path: includes/admin/helper/class-wc-helper.php
-
- message: '#^Method WC_Helper\:\:maybe_redirect_to_new_marketplace_installer\(\) has no return type specified\.$#'
- identifier: missingType.return
+ message: '#^Method WC_Helper\:\:_get_extensions_update_notice\(\) should return string\|null but empty return statement found\.$#'
+ identifier: return.empty
count: 1
path: includes/admin/helper/class-wc-helper.php
-
- message: '#^Method WC_Helper\:\:refresh_helper_subscriptions\(\) has no return type specified\.$#'
+ message: '#^Method WC_Helper\:\:current_screen\(\) has no return type specified\.$#'
identifier: missingType.return
count: 1
path: includes/admin/helper/class-wc-helper.php
-
- message: '#^Method WC_Helper\:\:remove_api_error_notice\(\) has no return type specified\.$#'
- identifier: missingType.return
+ message: '#^Method WC_Helper\:\:fetch_helper_connection_info\(\) should return array\|WP_Error but returns array\|true\.$#'
+ identifier: return.type
count: 1
path: includes/admin/helper/class-wc-helper.php
-
- message: '#^Method WC_Helper\:\:render_helper_output\(\) has no return type specified\.$#'
- identifier: missingType.return
+ message: '#^Method WC_Helper\:\:get_current_filter\(\) should return string but returns array\|string\.$#'
+ identifier: return.type
count: 1
path: includes/admin/helper/class-wc-helper.php
@@ -11226,12 +10698,6 @@ parameters:
count: 2
path: includes/class-wc-cart.php
- -
- message: '#^Method WC_Cart\:\:check_cart_items\(\) has no return type specified\.$#'
- identifier: missingType.return
- count: 1
- path: includes/class-wc-cart.php
-
-
message: '#^Binary operation "\+" between float\|int\|string and float results in an error\.$#'
identifier: binaryOp.invalid
@@ -11280,6 +10746,12 @@ parameters:
count: 2
path: includes/class-wc-cart.php
+ -
+ message: '#^Method WC_Cart\:\:check_cart_items\(\) has no return type specified\.$#'
+ identifier: missingType.return
+ count: 1
+ path: includes/class-wc-cart.php
+
-
message: '#^Parameter \#1 \$price of function wc_price expects float, float\|string given\.$#'
identifier: argument.type
@@ -11695,338 +11167,152 @@ parameters:
path: includes/class-wc-comments.php
-
- message: '#^Method WC_Comments\:\:clear_transients\(\) has no return type specified\.$#'
- identifier: missingType.return
- count: 1
- path: includes/class-wc-comments.php
-
- -
- message: '#^Method WC_Comments\:\:delete_comments_count_cache\(\) has no return type specified\.$#'
- identifier: missingType.return
- count: 1
- path: includes/class-wc-comments.php
-
- -
- message: '#^Method WC_Comments\:\:exclude_order_comments_from_feed_join\(\) has no return type specified\.$#'
- identifier: missingType.return
- count: 1
- path: includes/class-wc-comments.php
-
- -
- message: '#^Method WC_Comments\:\:exclude_webhook_comments_from_feed_join\(\) has no return type specified\.$#'
- identifier: missingType.return
- count: 1
- path: includes/class-wc-comments.php
-
- -
- message: '#^Method WC_Comments\:\:get_average_rating_for_product\(\) should return float but returns int\|string\.$#'
- identifier: return.type
- count: 1
- path: includes/class-wc-comments.php
-
- -
- message: '#^Method WC_Comments\:\:init\(\) has no return type specified\.$#'
- identifier: missingType.return
- count: 1
- path: includes/class-wc-comments.php
-
- -
- message: '#^Method WC_Comments\:\:validate_product_review_verified_owners\(\) has no return type specified\.$#'
- identifier: missingType.return
- count: 1
- path: includes/class-wc-comments.php
-
- -
- message: '#^Method WC_Comments\:\:wp_count_comments\(\) should return object but returns array\|object\.$#'
- identifier: return.type
- count: 1
- path: includes/class-wc-comments.php
-
- -
- message: '#^Parameter \#1 \$post of function get_post_type expects int\|WP_Post\|null, string given\.$#'
- identifier: argument.type
- count: 5
- path: includes/class-wc-comments.php
-
- -
- message: '#^Parameter \#2 \$user_id of function wc_customer_bought_product expects int, string given\.$#'
- identifier: argument.type
- count: 1
- path: includes/class-wc-comments.php
-
- -
- message: '#^Parameter \#3 \$args of function wp_die expects array\{response\?\: int, link_url\?\: string, link_text\?\: string, back_link\?\: bool, text_direction\?\: string, charset\?\: string, code\?\: string, exit\?\: bool\}\|int, array\{code\: 403\} given\.$#'
- identifier: argument.type
- count: 1
- path: includes/class-wc-comments.php
-
- -
- message: '#^Parameter \#3 \$product_id of function wc_customer_bought_product expects int, string given\.$#'
- identifier: argument.type
- count: 1
- path: includes/class-wc-comments.php
-
- -
- message: '#^Unreachable statement \- code above always terminates\.$#'
- identifier: deadCode.unreachable
- count: 1
- path: includes/class-wc-comments.php
-
- -
- message: '#^Access to an undefined property WC_Countries\:\:\$countries\.$#'
- identifier: property.notFound
- count: 5
- path: includes/class-wc-countries.php
-
- -
- message: '#^Access to an undefined property WC_Countries\:\:\$states\.$#'
- identifier: property.notFound
- count: 2
- path: includes/class-wc-countries.php
-
- -
- message: '#^Method WC_Countries\:\:country_dropdown_options\(\) has no return type specified\.$#'
- identifier: missingType.return
- count: 1
- path: includes/class-wc-countries.php
-
- -
- message: '#^Method WC_Countries\:\:load_country_states\(\) has no return type specified\.$#'
- identifier: missingType.return
- count: 1
- path: includes/class-wc-countries.php
-
- -
- message: '#^Parameter \#2 \$str of function explode expects string, string\|null given\.$#'
- identifier: argument.type
- count: 1
- path: includes/class-wc-countries.php
-
- -
- message: '#^Parameter \#3 \$subject of function preg_replace expects array\<float\|int\|string\>\|string, string\|null given\.$#'
- identifier: argument.type
- count: 1
- path: includes/class-wc-countries.php
-
- -
- message: '#^Access to an undefined property WC_Cart\:\:\$subtotal\.$#'
- identifier: property.notFound
- count: 1
- path: includes/class-wc-coupon.php
-
- -
- message: '#^Access to an undefined property WC_Cart\:\:\$subtotal_ex_tax\.$#'
- identifier: property.notFound
- count: 1
- path: includes/class-wc-coupon.php
-
- -
- message: '#^Call to an undefined method object\:\:decrease_usage_count\(\)\.$#'
- identifier: method.notFound
- count: 1
- path: includes/class-wc-coupon.php
-
- -
- message: '#^Call to an undefined method object\:\:increase_usage_count\(\)\.$#'
- identifier: method.notFound
- count: 1
- path: includes/class-wc-coupon.php
-
- -
- message: '#^Cannot access property \$name on WP_Error\|WP_Term\|null\.$#'
- identifier: property.nonObject
- count: 1
- path: includes/class-wc-coupon.php
-
- -
- message: '#^Method WC_Coupon\:\:add_coupon_message\(\) has no return type specified\.$#'
- identifier: missingType.return
- count: 1
- path: includes/class-wc-coupon.php
-
- -
- message: '#^Method WC_Coupon\:\:decrease_usage_count\(\) has no return type specified\.$#'
- identifier: missingType.return
- count: 1
- path: includes/class-wc-coupon.php
-
- -
- message: '#^Method WC_Coupon\:\:get_short_info\(\) should return string but returns string\|false\.$#'
- identifier: return.type
- count: 1
- path: includes/class-wc-coupon.php
-
- -
- message: '#^Method WC_Coupon\:\:increase_usage_count\(\) has no return type specified\.$#'
- identifier: missingType.return
- count: 1
- path: includes/class-wc-coupon.php
-
- -
- message: '#^Method WC_Coupon\:\:read_manual_coupon\(\) has no return type specified\.$#'
- identifier: missingType.return
- count: 1
- path: includes/class-wc-coupon.php
-
- -
- message: '#^Method WC_Coupon\:\:read_object_from_database\(\) has no return type specified\.$#'
- identifier: missingType.return
- count: 1
- path: includes/class-wc-coupon.php
-
- -
- message: '#^Method WC_Coupon\:\:set_amount\(\) has no return type specified\.$#'
- identifier: missingType.return
- count: 1
- path: includes/class-wc-coupon.php
-
- -
- message: '#^Method WC_Coupon\:\:set_code\(\) has no return type specified\.$#'
- identifier: missingType.return
- count: 1
- path: includes/class-wc-coupon.php
-
- -
- message: '#^Method WC_Coupon\:\:set_date_created\(\) has no return type specified\.$#'
- identifier: missingType.return
- count: 1
- path: includes/class-wc-coupon.php
-
- -
- message: '#^Method WC_Coupon\:\:set_date_expires\(\) has no return type specified\.$#'
+ message: '#^Method WC_Comments\:\:clear_transients\(\) has no return type specified\.$#'
identifier: missingType.return
count: 1
- path: includes/class-wc-coupon.php
+ path: includes/class-wc-comments.php
-
- message: '#^Method WC_Coupon\:\:set_date_modified\(\) has no return type specified\.$#'
+ message: '#^Method WC_Comments\:\:delete_comments_count_cache\(\) has no return type specified\.$#'
identifier: missingType.return
count: 1
- path: includes/class-wc-coupon.php
+ path: includes/class-wc-comments.php
-
- message: '#^Method WC_Coupon\:\:set_description\(\) has no return type specified\.$#'
+ message: '#^Method WC_Comments\:\:exclude_order_comments_from_feed_join\(\) has no return type specified\.$#'
identifier: missingType.return
count: 1
- path: includes/class-wc-coupon.php
+ path: includes/class-wc-comments.php
-
- message: '#^Method WC_Coupon\:\:set_discount_type\(\) has no return type specified\.$#'
+ message: '#^Method WC_Comments\:\:exclude_webhook_comments_from_feed_join\(\) has no return type specified\.$#'
identifier: missingType.return
count: 1
- path: includes/class-wc-coupon.php
+ path: includes/class-wc-comments.php
-
- message: '#^Method WC_Coupon\:\:set_discount_type_core\(\) has no return type specified\.$#'
- identifier: missingType.return
+ message: '#^Method WC_Comments\:\:get_average_rating_for_product\(\) should return float but returns int\|string\.$#'
+ identifier: return.type
count: 1
- path: includes/class-wc-coupon.php
+ path: includes/class-wc-comments.php
-
- message: '#^Method WC_Coupon\:\:set_email_restrictions\(\) has no return type specified\.$#'
+ message: '#^Method WC_Comments\:\:init\(\) has no return type specified\.$#'
identifier: missingType.return
count: 1
- path: includes/class-wc-coupon.php
+ path: includes/class-wc-comments.php
-
- message: '#^Method WC_Coupon\:\:set_exclude_sale_items\(\) has no return type specified\.$#'
+ message: '#^Method WC_Comments\:\:validate_product_review_verified_owners\(\) has no return type specified\.$#'
identifier: missingType.return
count: 1
- path: includes/class-wc-coupon.php
+ path: includes/class-wc-comments.php
-
- message: '#^Method WC_Coupon\:\:set_excluded_product_categories\(\) has no return type specified\.$#'
- identifier: missingType.return
+ message: '#^Method WC_Comments\:\:wp_count_comments\(\) should return object but returns array\|object\.$#'
+ identifier: return.type
count: 1
- path: includes/class-wc-coupon.php
+ path: includes/class-wc-comments.php
-
- message: '#^Method WC_Coupon\:\:set_excluded_product_ids\(\) has no return type specified\.$#'
- identifier: missingType.return
- count: 1
- path: includes/class-wc-coupon.php
+ message: '#^Parameter \#1 \$post of function get_post_type expects int\|WP_Post\|null, string given\.$#'
+ identifier: argument.type
+ count: 5
+ path: includes/class-wc-comments.php
-
- message: '#^Method WC_Coupon\:\:set_free_shipping\(\) has no return type specified\.$#'
- identifier: missingType.return
+ message: '#^Parameter \#2 \$user_id of function wc_customer_bought_product expects int, string given\.$#'
+ identifier: argument.type
count: 1
- path: includes/class-wc-coupon.php
+ path: includes/class-wc-comments.php
-
- message: '#^Method WC_Coupon\:\:set_individual_use\(\) has no return type specified\.$#'
- identifier: missingType.return
+ message: '#^Parameter \#3 \$args of function wp_die expects array\{response\?\: int, link_url\?\: string, link_text\?\: string, back_link\?\: bool, text_direction\?\: string, charset\?\: string, code\?\: string, exit\?\: bool\}\|int, array\{code\: 403\} given\.$#'
+ identifier: argument.type
count: 1
- path: includes/class-wc-coupon.php
+ path: includes/class-wc-comments.php
-
- message: '#^Method WC_Coupon\:\:set_limit_usage_to_x_items\(\) has no return type specified\.$#'
- identifier: missingType.return
+ message: '#^Parameter \#3 \$product_id of function wc_customer_bought_product expects int, string given\.$#'
+ identifier: argument.type
count: 1
- path: includes/class-wc-coupon.php
+ path: includes/class-wc-comments.php
-
- message: '#^Method WC_Coupon\:\:set_maximum_amount\(\) has no return type specified\.$#'
- identifier: missingType.return
+ message: '#^Unreachable statement \- code above always terminates\.$#'
+ identifier: deadCode.unreachable
count: 1
- path: includes/class-wc-coupon.php
+ path: includes/class-wc-comments.php
+
+ -
+ message: '#^Access to an undefined property WC_Countries\:\:\$countries\.$#'
+ identifier: property.notFound
+ count: 5
+ path: includes/class-wc-countries.php
+
+ -
+ message: '#^Access to an undefined property WC_Countries\:\:\$states\.$#'
+ identifier: property.notFound
+ count: 2
+ path: includes/class-wc-countries.php
-
- message: '#^Method WC_Coupon\:\:set_minimum_amount\(\) has no return type specified\.$#'
+ message: '#^Method WC_Countries\:\:country_dropdown_options\(\) has no return type specified\.$#'
identifier: missingType.return
count: 1
- path: includes/class-wc-coupon.php
+ path: includes/class-wc-countries.php
-
- message: '#^Method WC_Coupon\:\:set_product_categories\(\) has no return type specified\.$#'
+ message: '#^Method WC_Countries\:\:load_country_states\(\) has no return type specified\.$#'
identifier: missingType.return
count: 1
- path: includes/class-wc-coupon.php
+ path: includes/class-wc-countries.php
-
- message: '#^Method WC_Coupon\:\:set_product_ids\(\) has no return type specified\.$#'
- identifier: missingType.return
+ message: '#^Parameter \#2 \$str of function explode expects string, string\|null given\.$#'
+ identifier: argument.type
count: 1
- path: includes/class-wc-coupon.php
+ path: includes/class-wc-countries.php
-
- message: '#^Method WC_Coupon\:\:set_short_info\(\) has no return type specified\.$#'
- identifier: missingType.return
+ message: '#^Parameter \#3 \$subject of function preg_replace expects array\<float\|int\|string\>\|string, string\|null given\.$#'
+ identifier: argument.type
count: 1
- path: includes/class-wc-coupon.php
+ path: includes/class-wc-countries.php
-
- message: '#^Method WC_Coupon\:\:set_status\(\) has no return type specified\.$#'
- identifier: missingType.return
+ message: '#^Access to an undefined property WC_Cart\:\:\$subtotal\.$#'
+ identifier: property.notFound
count: 1
path: includes/class-wc-coupon.php
-
- message: '#^Method WC_Coupon\:\:set_usage_count\(\) has no return type specified\.$#'
- identifier: missingType.return
+ message: '#^Access to an undefined property WC_Cart\:\:\$subtotal_ex_tax\.$#'
+ identifier: property.notFound
count: 1
path: includes/class-wc-coupon.php
-
- message: '#^Method WC_Coupon\:\:set_usage_limit\(\) has no return type specified\.$#'
- identifier: missingType.return
+ message: '#^Call to an undefined method object\:\:decrease_usage_count\(\)\.$#'
+ identifier: method.notFound
count: 1
path: includes/class-wc-coupon.php
-
- message: '#^Method WC_Coupon\:\:set_usage_limit_per_user\(\) has no return type specified\.$#'
- identifier: missingType.return
+ message: '#^Call to an undefined method object\:\:increase_usage_count\(\)\.$#'
+ identifier: method.notFound
count: 1
path: includes/class-wc-coupon.php
-
- message: '#^Method WC_Coupon\:\:set_used_by\(\) has no return type specified\.$#'
- identifier: missingType.return
+ message: '#^Cannot access property \$name on WP_Error\|WP_Term\|null\.$#'
+ identifier: property.nonObject
count: 1
path: includes/class-wc-coupon.php
-
- message: '#^Method WC_Coupon\:\:set_virtual\(\) has no return type specified\.$#'
- identifier: missingType.return
+ message: '#^Method WC_Coupon\:\:get_short_info\(\) should return string but returns string\|false\.$#'
+ identifier: return.type
count: 1
path: includes/class-wc-coupon.php
@@ -14742,192 +14028,6 @@ parameters:
count: 1
path: includes/class-wc-post-data.php
- -
- message: '#^Method WC_Post_Data\:\:before_delete_order\(\) has no return type specified\.$#'
- identifier: missingType.return
- count: 1
- path: includes/class-wc-post-data.php
-
- -
- message: '#^Method WC_Post_Data\:\:clear_global_unique_id_if_necessary\(\) has no return type specified\.$#'
- identifier: missingType.return
- count: 1
- path: includes/class-wc-post-data.php
-
- -
- message: '#^Method WC_Post_Data\:\:deferred_product_sync\(\) has no return type specified\.$#'
- identifier: missingType.return
- count: 1
- path: includes/class-wc-post-data.php
-
- -
- message: '#^Method WC_Post_Data\:\:delete_order_downloadable_permissions\(\) has no return type specified\.$#'
- identifier: missingType.return
- count: 1
- path: includes/class-wc-post-data.php
-
- -
- message: '#^Method WC_Post_Data\:\:delete_order_items\(\) has no return type specified\.$#'
- identifier: missingType.return
- count: 1
- path: includes/class-wc-post-data.php
-
- -
- message: '#^Method WC_Post_Data\:\:delete_post\(\) has no return type specified\.$#'
- identifier: missingType.return
- count: 1
- path: includes/class-wc-post-data.php
-
- -
- message: '#^Method WC_Post_Data\:\:delete_post_data\(\) has no return type specified\.$#'
- identifier: missingType.return
- count: 1
- path: includes/class-wc-post-data.php
-
- -
- message: '#^Method WC_Post_Data\:\:delete_product_query_transients\(\) has no return type specified\.$#'
- identifier: missingType.return
- count: 1
- path: includes/class-wc-post-data.php
-
- -
- message: '#^Method WC_Post_Data\:\:do_deferred_product_sync\(\) has no return type specified\.$#'
- identifier: missingType.return
- count: 1
- path: includes/class-wc-post-data.php
-
- -
- message: '#^Method WC_Post_Data\:\:edit_term\(\) has no return type specified\.$#'
- identifier: missingType.return
- count: 1
- path: includes/class-wc-post-data.php
-
- -
- message: '#^Method WC_Post_Data\:\:edited_term\(\) has no return type specified\.$#'
- identifier: missingType.return
- count: 1
- path: includes/class-wc-post-data.php
-
- -
- message: '#^Method WC_Post_Data\:\:flush_object_meta_cache\(\) has no return type specified\.$#'
- identifier: missingType.return
- count: 1
- path: includes/class-wc-post-data.php
-
- -
- message: '#^Method WC_Post_Data\:\:force_default_term\(\) has no return type specified\.$#'
- identifier: missingType.return
- count: 1
- path: includes/class-wc-post-data.php
-
- -
- message: '#^Method WC_Post_Data\:\:handle_attribute_term_deleted\(\) has no return type specified\.$#'
- identifier: missingType.return
- count: 1
- path: includes/class-wc-post-data.php
-
- -
- message: '#^Method WC_Post_Data\:\:handle_attribute_term_updated\(\) has no return type specified\.$#'
- identifier: missingType.return
- count: 1
- path: includes/class-wc-post-data.php
-
- -
- message: '#^Method WC_Post_Data\:\:handle_global_attribute_updated\(\) has no return type specified\.$#'
- identifier: missingType.return
- count: 1
- path: includes/class-wc-post-data.php
-
- -
- message: '#^Method WC_Post_Data\:\:init\(\) has no return type specified\.$#'
- identifier: missingType.return
- count: 1
- path: includes/class-wc-post-data.php
-
- -
- message: '#^Method WC_Post_Data\:\:on_product_attributes_updated\(\) has no return type specified\.$#'
- identifier: missingType.return
- count: 1
- path: includes/class-wc-post-data.php
-
- -
- message: '#^Method WC_Post_Data\:\:process_product_file_download_paths\(\) has no return type specified\.$#'
- identifier: missingType.return
- count: 1
- path: includes/class-wc-post-data.php
-
- -
- message: '#^Method WC_Post_Data\:\:product_type_changed\(\) has no return type specified\.$#'
- identifier: missingType.return
- count: 1
- path: includes/class-wc-post-data.php
-
- -
- message: '#^Method WC_Post_Data\:\:recount_terms_for_product_visibility_change\(\) has no return type specified\.$#'
- identifier: missingType.return
- count: 1
- path: includes/class-wc-post-data.php
-
- -
- message: '#^Method WC_Post_Data\:\:regenerate_attribute_variation_summaries\(\) has no return type specified\.$#'
- identifier: missingType.return
- count: 1
- path: includes/class-wc-post-data.php
-
- -
- message: '#^Method WC_Post_Data\:\:regenerate_product_variation_summaries\(\) has no return type specified\.$#'
- identifier: missingType.return
- count: 1
- path: includes/class-wc-post-data.php
-
- -
- message: '#^Method WC_Post_Data\:\:regenerate_term_variation_summaries\(\) has no return type specified\.$#'
- identifier: missingType.return
- count: 1
- path: includes/class-wc-post-data.php
-
- -
- message: '#^Method WC_Post_Data\:\:regenerate_variation_attribute_summary\(\) has no return type specified\.$#'
- identifier: missingType.return
- count: 1
- path: includes/class-wc-post-data.php
-
- -
- message: '#^Method WC_Post_Data\:\:regenerate_variation_summaries\(\) has no return type specified\.$#'
- identifier: missingType.return
- count: 1
- path: includes/class-wc-post-data.php
-
- -
- message: '#^Method WC_Post_Data\:\:set_object_terms\(\) has no return type specified\.$#'
- identifier: missingType.return
- count: 1
- path: includes/class-wc-post-data.php
-
- -
- message: '#^Method WC_Post_Data\:\:sync_product_stock_status\(\) has no return type specified\.$#'
- identifier: missingType.return
- count: 1
- path: includes/class-wc-post-data.php
-
- -
- message: '#^Method WC_Post_Data\:\:transition_post_status\(\) has no return type specified\.$#'
- identifier: missingType.return
- count: 1
- path: includes/class-wc-post-data.php
-
- -
- message: '#^Method WC_Post_Data\:\:trash_post\(\) has no return type specified\.$#'
- identifier: missingType.return
- count: 1
- path: includes/class-wc-post-data.php
-
- -
- message: '#^Method WC_Post_Data\:\:untrash_post\(\) has no return type specified\.$#'
- identifier: missingType.return
- count: 1
- path: includes/class-wc-post-data.php
-
-
message: '#^Offset ''attribute_name'' does not exist on string\.$#'
identifier: offsetAccess.notFound