Ausstehende WordPress-Updates debuggen

Wenn dir WordPress ausstehende Updates anzeigt, aber kein Update angezeigt wird, kann dir der nachfolgende Code helfen, die ausstehenden Updates zu debuggen.

Füge den Code in ein benutzerdefiniertes Plugin (oder in die functions.php deines Themes) ein und öffnen deine Website mit dem angehängten URL-Parameter ?show_available_updates:

/** enable ?show_available_updates url parameter */
function debug_pending_updates()
{
    // Basic permission handling
    if (!is_user_logged_in() || !current_user_can('manage_options')) {
        return;
    }
    if (!isset($_GET['show_available_updates'])) {
        return;
    }

    $output = "";

    // Check for available plugin updates
    $plugin_updates = get_site_transient('update_plugins');
    if ($plugin_updates && !empty($plugin_updates->response)) {
        foreach ($plugin_updates->response as $plugin => $details) {
            $output .= "<p><strong>The plugin</strong> <u>$plugin</u> is reporting an available update.</p>";
        }
    }

    // Check for available theme updates
    wp_update_themes();
    $theme_updates = get_site_transient('update_themes');
    if ($theme_updates && !empty($theme_updates->response)) {
        foreach ($theme_updates->response as $theme => $details) {
            $output .= "<p><strong>The theme</strong> <u>$theme</u> is reporting an available update.</p>";
        }
    }

    if (empty($output)) {
        $output = "No pending updates found in database.";
    }

    wp_die($output);
}

add_action('init', 'debug_pending_updates');

Nun sollte eine Liste aller ausstehenden WordPress-Updates angezeigt werden.

Wichtig: Entferne den zuvor eingefügten Code nach erfolgtem Debugging. Ist ist nicht sicher, diesen Code permanent in einer produktiven Umgebung installiert zu lassen, da darüber sensible Daten ausgelesen werden könnten!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.