Update-Benachrichtigung aktivieren, Updates deaktivieren


10

Es gibt viele Fragen zum Deaktivieren von Updates und / oder zum Entfernen von Update-Benachrichtigungen. Alle Lösungen, die das Update deaktivieren, deaktivieren jedoch auch die Update-Benachrichtigungen.

Ich möchte jedoch die Möglichkeit zum Aktualisieren deaktivieren, während ich weiterhin über verfügbare Aktualisierungen benachrichtigt werde.

Zur Zeit benutze ich define( 'DISALLOW_FILE_MODS', true ); Codex

Das Problem dabei ist, dass nicht nur der Aktualisierungsprozess, sondern auch die Benachrichtigungen deaktiviert werden.

Edit: Okay, ich bin selbst ein bisschen durch das Kaninchenloch gegangen. Ich denke, ich sollte auch klarstellen, dass ich nicht (nur) über Kernupdates spreche, sondern auch über Plugins und Themen.

Wenn ich es richtig verstehe, liegt das daran, dass die Funktion unter /wp-admin/includes/update.php:250 früh zurückkehrt.

Ich sehe also zwei Möglichkeiten:

  • Fügen Sie die update_pluginsOption erneut hinzu, welche Art den Zweck zunichte macht, und ich bin mir der Nebenwirkungen nicht sicher
  • Füge meinen eigenen Haken zur admin_initArt der Replikation hinzu wp_plugin_update_rows. Ich habe das versucht, aber es sieht immer noch nicht gleich aus. Es scheint noch mehr zu geben, außerdem scheint es kein sehr sauberer Weg zu sein, dies zu tun.

BEARBEITEN: Es gibt ein Ticket für dieses Problem, falls Sie daran arbeiten möchten : https://core.trac.wordpress.org/ticket/25219


"Ja wirklich?" Ich benutze das und sehe immer noch die Update-Benachrichtigung. Es sagt mir, "Bitte benachrichtigen Sie den Site-Administrator"
Stephen Harris

Ich habe meine Frage aktualisiert.
Kraftner

1
Warum verwenden Sie nicht wpremove oder infinitewp like system, um über Updates informiert zu werden? Mit diesen können Sie weiterhin Updates deaktivieren. Ich benutze das selbst.
Robert Farbton

4
Danke Robert für die Idee, aber dies ist nur eine weitere Abhängigkeit und beantwortet auch nicht, sondern umgeht nur mein Problem / meine Frage.
Kraftner

Antworten:


1

Fügen Sie den folgenden Code in das untergeordnete Thema ein functions.phpoder verpacken Sie es als benutzerdefiniertes Plugin, um es einfach zu aktivieren / deaktivieren:

add_action( 'wp_before_admin_bar_render', 'wpse161696_toolbar_menu' );
add_action( 'admin_menu', 'wpse161696_updates' );

function wpse161696_toolbar_menu() { // Remove update menu item from the toolbar
    global $wp_admin_bar;
    $wp_admin_bar -> remove_menu( 'updates' );
}

function wpse161696_updates() { // Remove all updating related functions
    remove_submenu_page( 'index.php', 'update-core.php' ); // Remove Update submenu
    // Redirect to Dashboard if update page is accessed
    global $pagenow;
    $page = array(
        'update-core.php',
        'update.php',
        'update.php?action=upgrade-plugin'
        );
    if ( in_array( $pagenow, $page, true ) ) {
        wp_redirect( admin_url( 'index.php' ), 301 );
        // wp_die( 'Updates are disabled.' ); // An error message can be displayed instead
        exit;
    }
}

Dies sollte Ihnen etwas geben, mit dem Sie arbeiten können. Die Update-Links werden aus der Seitenleiste und der Symbolleiste im Dashboard entfernt, während die Update-Benachrichtigungen aktiviert bleiben.

Das Update wird nun jedoch weiterhin unter jedem Plugin angezeigt, sodass der Benutzer Updates durchführen kann:

Geben Sie hier die Bildbeschreibung ein

Eine Lösung hierfür besteht darin, den Link über CSS auszublenden. Ich konnte diesen Teil nicht ganz zum Laufen bringen, aber da diese Frage sehr alt ist, wollte ich auch keine Zeit damit verschwenden. Ich hatte das Gefühl, dass diese Frage einen Abschluss braucht.


Vielen Dank für Ihren Blick. Aber was Sie tun, ist nicht wirklich das, wonach ich gesucht habe. Zuallererst wird das Verstecken von Inhalten aus dem Menü nicht wirklich entfernt / deaktiviert. Wenn Sie die URL kennen, ist sie immer noch da. Die Weiterleitung ist ebenfalls fragil. DISALLOW_FILE_MODSmacht viel mehr als nur Updates zu blockieren. Auch das Einfügen der Weiterleitung admin_menuist der falsche Ort. Dies ist eindeutig ein Kernfehler, der dort behoben werden muss. Alles andere sind schmutzige und zerbrechliche Hacks. Danke, dass
du es

Wie ist die Weiterleitung genau fragil? Was macht alles andere aus dirty?
Ethan Jinks O'Sullivan

Irgendwelche Updates? Ich würde gerne wissen, was die Weiterleitung zerbrechlich macht. Ein Beispiel hilft mir dabei, es besser zu verstehen.
Ethan Jinks O'Sullivan

Tut mir leid, dass ich nicht zurückgekommen bin. "schmutzig" bezieht sich auf die Tatsache, dass dies im Kern behoben werden sollte. Mein Wortlaut war zu enttäuschend darüber, dass dies nicht der Fall ist. Tut mir leid. „Fragile“ bezieht sich auf die Tatsache , dass diese wie Seiten - URLs zu viel davon ausgegangen , und brechen könnte mit WP Änderungen (zB glänzende Updates gerade passiert ist , ich weiß nicht , ob das könnte sich ändern nichts) Schließlich mein Hauptanliegen ist , dass ich verwenden möchte , DISALLOW_FILE_MODSfür Auch aus anderen Gründen, z. B. Deaktivieren des Editors. Das Einstellen truelöst dieses Problem aus. Entschuldigung, die Frage hat das nicht klar gemacht.
Kraftner

Aha. Diese Frage würde also nicht Ihren Anforderungen entsprechend gelöst werden, da die Kerndateien angepasst werden müssten.
Ethan Jinks O'Sullivan
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.