WC_Helper_Plugin_Info::plugins_api( object $response, string $action, object $args )
Plugin information callback for Woo extensions.
Description Description
Parameters Parameters
- $response
-
(Required) The response core needs to display the modal.
- $action
-
(Required) The requested plugins_api() action.
- $args
-
(Required) Arguments passed to plugins_api().
Return Return
(object) An updated $response.
Source Source
File: includes/admin/helper/class-wc-helper-plugin-info.php
public static function plugins_api( $response, $action, $args ) { if ( 'plugin_information' !== $action ) { return $response; } if ( empty( $args->slug ) ) { return $response; } // Only for slugs that start with woo- if ( 0 !== strpos( $args->slug, 'woocommerce-com-' ) ) { return $response; } $clean_slug = str_replace( 'woocommerce-com-', '', $args->slug ); // Look through update data by slug. $update_data = WC_Helper_Updater::get_update_data(); $products = wp_list_filter( $update_data, array( 'slug' => $clean_slug ) ); if ( empty( $products ) ) { return $response; } $product_id = array_keys( $products ); $product_id = array_shift( $product_id ); // Fetch the product information from the Helper API. $request = WC_Helper_API::get( add_query_arg( array( 'product_id' => absint( $product_id ), ), 'info' ), array( 'authenticated' => true ) ); $results = json_decode( wp_remote_retrieve_body( $request ), true ); if ( ! empty( $results ) ) { $response = (object) $results; } return $response; }