Title: rochat's Replies | WordPress.org

---

# rochat

  [  ](https://wordpress.org/support/users/rochat/)

 *   [Profile](https://wordpress.org/support/users/rochat/)
 *   [Topics Started](https://wordpress.org/support/users/rochat/topics/)
 *   [Replies Created](https://wordpress.org/support/users/rochat/replies/)
 *   [Reviews Written](https://wordpress.org/support/users/rochat/reviews/)
 *   [Topics Replied To](https://wordpress.org/support/users/rochat/replied-to/)
 *   [Engagements](https://wordpress.org/support/users/rochat/engagements/)
 *   [Favorites](https://wordpress.org/support/users/rochat/favorites/)

 Search replies:

## Forum Replies Created

Viewing 3 replies - 1 through 3 (of 3 total)

 *   Forum: [Plugins](https://wordpress.org/support/forum/plugins-and-hacks/)
    In
   reply to: [[WP Last Modified Info] PHP Fatal error: Uncaught Error: Attempt to assign property “external” on null](https://wordpress.org/support/topic/php-fatal-error-uncaught-error-attempt-to-assign-property-external-on-null-2/)
 *  Thread Starter [rochat](https://wordpress.org/support/users/rochat/)
 * (@rochat)
 * [10 months, 1 week ago](https://wordpress.org/support/topic/php-fatal-error-uncaught-error-attempt-to-assign-property-external-on-null-2/#post-18589819)
 * I added debug traces in `wp-admin/includes/plugin-install.php` to investigate
   why `$res` is `NULL` at the line:
 *     ```wp-block-code
       $res->external = true;
       ```
   
 * Ideally, this line should be safeguarded in the WordPress core with a conditional
   check like:
 *     ```wp-block-code
       if ($res !== null) {
           $res->external = true;
       }
       ```
   
 * The value of `$res` is set by the following call:
 *     ```wp-block-code
       $res = apply_filters( 'plugins_api', false, $action, $args );
       ```
   
 * This triggers all registered `plugins_api` hooks. The one returning `NULL` is:
 *     ```wp-block-code
       [07-Aug-2025 09:47:56 UTC] plugins_api hook at priority 10: EDD_MMM_Plugin_Updater::plugins_api_filter returned: NULL
       ```
   
 * The `EDD_MMM_Plugin_Updater` class is part of the **Max Mega Menu Pro** plugin,
   located in:
 *     ```wp-block-code
       wp-content/plugins/megamenu-pro/updater/EDD_MMM_Plugin_Updater.php
       ```
   
 * Disabling the `init` method in that file prevents the issue, confirming that 
   the problem originates there.
 * Therefore, this is **not** an issue with the `wp-last-modified-info` plugin. 
   Instead, it highlights a bug in both:
    - The **WordPress core**, which should handle `NULL` responses more gracefully.
    - The **Max Mega Menu Pro plugin**, which should avoid returning `NULL` from
      its `plugins_api` filter.
 *   Forum: [Plugins](https://wordpress.org/support/forum/plugins-and-hacks/)
    In
   reply to: [[WP Last Modified Info] PHP Fatal error: Uncaught Error: Attempt to assign property “external” on null](https://wordpress.org/support/topic/php-fatal-error-uncaught-error-attempt-to-assign-property-external-on-null-2/)
 *  Thread Starter [rochat](https://wordpress.org/support/users/rochat/)
 * (@rochat)
 * [10 months, 1 week ago](https://wordpress.org/support/topic/php-fatal-error-uncaught-error-attempt-to-assign-property-external-on-null-2/#post-18588125)
 * I added this before the problematic call:
 * /wp-content/plugins/wp-last-modified-info/inc/Core/Backend/PluginsData.php(111)
 *     ```wp-block-code
       $args = [ 'slug' => $item ];error_log( 'Calling plugins_api with args: plugin_information' . var_export( $args, true ) );$response = plugins_api( 'plugin_information', [ 'slug' => $item ] );if ( ! is_wp_error( $response ) ) {  $this->save_data( $response );}
       ```
   
 * The returned slug is `'megamenu-pro'`. I’m using the premium plugin **Max Mega
   Menu Pro**, which is not available on WordPress.org. I believe this is what’s
   causing the error.
   Any fix on this issue in wp-last-modified-info?
 *   Forum: [Plugins](https://wordpress.org/support/forum/plugins-and-hacks/)
    In
   reply to: [[WP Last Modified Info] PHP Fatal error: Uncaught Error: Attempt to assign property “external” on null](https://wordpress.org/support/topic/php-fatal-error-uncaught-error-attempt-to-assign-property-external-on-null-2/)
 *  Thread Starter [rochat](https://wordpress.org/support/users/rochat/)
 * (@rochat)
 * [10 months, 1 week ago](https://wordpress.org/support/topic/php-fatal-error-uncaught-error-attempt-to-assign-property-external-on-null-2/#post-18587992)
 * I added the following code at **line 111** of `PluginsData.php` to test connectivity
   with the WordPress.org API:
 * php
 *     ```wp-block-code
       $response = wp_remote_get('https://api.wordpress.org/plugins/info/1.2/');
       if (is_wp_error($response)) {
           error_log('[WP API TEST] Connection error: ' . $response->get_error_message());
       } else {
           error_log('[WP API TEST] Successfully connected to WordPress.org API.');
       }
       ```
   
 * After executing the code, the PHP error log returned:
 *     ```wp-block-code
       [WP API TEST] Successfully connected to WordPress.org API.
       ```
   
 * ✅ This confirms that the server can reach the WordPress.org API endpoint without
   issues, **so the problem lies elsewhere**.

Viewing 3 replies - 1 through 3 (of 3 total)