it-swarm.com.de

Deaktivieren Sie die Update-Benachrichtigung für einzelne Plugins

Gibt es eine Möglichkeit, Aktualisierungsbenachrichtigungen für bestimmte Plugins zu deaktivieren?

Als Plugin-Entwickler habe ich einige Plugins auf meiner persönlichen Site installiert, die zum Testen die svn-Trunk-Version verwenden, aber die gleichen Plugins sind auf der Plugin-Site verfügbar. In diesen Fällen betrachtet WP die neueste Version als die zuletzt veröffentlichte -Version und versucht ständig, mich zu warnen, dass Updates verfügbar sind.

Ich möchte weiterhin Benachrichtigungen über Updates für andere Plugins sehen, aber es ist ärgerlich, die Updates (2)-Benachrichtigung in der Kopfzeile ständig zu ignorieren!

47
Caleb

Wenn Sie beispielsweise nicht möchten, dass Wordpress Aktualisierungsbenachrichtigungen für akismet anzeigt, gehen Sie folgendermaßen vor:

function filter_plugin_updates( $value ) {
    unset( $value->response['akismet/akismet.php'] );
    return $value;
}
add_filter( 'site_transient_update_plugins', 'filter_plugin_updates' );
63

Hameedullah Khans Antwort wird eine PHP Warnung auslösen. Fügen Sie diese if-Klausel ein, um sicherzustellen, dass es sich um ein Objekt handelt, bevor Sie die Antwort für dieses Plugin deaktivieren.

'Warnung: Versuch, die Eigenschaft eines Nichtobjekts zu ändern'

Versuchen Sie dies, um die Warnungen zu vermeiden (Code für die Plugin-Datei selbst):

// remove update notice for forked plugins
function remove_update_notifications($value) {

    if ( isset( $value ) && is_object( $value ) ) {
        unset( $value->response[ plugin_basename(__FILE__) ] );
    }

    return $value;
}
add_filter( 'site_transient_update_plugins', 'remove_update_notifications' );

Ich stelle das gerne in das eigentliche Plugin. Da ich Updates für ein Plugin nur deaktiviert habe, weil ich den Code bearbeitet oder gegabelt habe und meine Änderungen bei einem Update nicht verlieren möchte, habe ich das Plugin bereits bearbeitet und es macht mir daher nichts aus, es weiter zu bearbeiten. Es hält meine Funktionsdatei ein bisschen sauberer. Aber wenn Sie möchten, können Sie es in die Funktionsdatei einfügen. Ein Vorteil dieser Methode ist, dass Sie mehrere Plugins aus Updates entfernen können, indem Sie eine weitere nicht gesetzte Zeile für dieses Plugin wie folgt hinzufügen (Code für functions.php):

// remove update notice for forked plugins
function remove_update_notifications( $value ) {

    if ( isset( $value ) && is_object( $value ) ) {
        unset( $value->response[ 'hello.php' ] );
        unset( $value->response[ 'akismet/akismet.php' ] );
    }

    return $value;
}
add_filter( 'site_transient_update_plugins', 'remove_update_notifications' );
28
circlecube

Deaktivieren Sie alle Update-Benachrichtigungen mit Code

function remove_core_updates(){
        global $wp_version;return(object) array('last_checked'=> time(),'version_checked'=> $wp_version,);
    }
    add_filter('pre_site_transient_update_core','remove_core_updates');
    add_filter('pre_site_transient_update_plugins','remove_core_updates');
    add_filter('pre_site_transient_update_themes','remove_core_updates');

Der Code deaktiviert Aktualisierungsbenachrichtigungen für den WordPress-Kern, Plugins und Themes.

2
Super Model