Bestimmte WordPress Plugins von den Updates ausnehmen

Updates für WordPress und seine Plugins sind wichtig. Keine Frage! Allerdings gibt es für bezahlte Plugins meist nur für einen bestimmten Zeitraum Updates . Bei dem Mehrsprachen-Plugin WPML gibt es ein Jahr lang Updates inklusive nach dem Kauf. Danach muss eine Verlängerung erworben werden, um keine Fehlermeldung zu bekommen, wenn WordPress versucht die insgesamt fünf dazugehörugen Plugins zu aktualisieren. Da es mich persönlich massiv stört, wenn die Updates bei den Plugins auf Grund dessen fehlschlagen und diese dann auch noch der einzige Grund sind, das Update-Icon in der WordPress-Admin-Toolbar einzublenden, habe ich nach einen Weg gesucht, wie ich WPML von den Updates ausnehmen bzw. „excluden“ kann.

Erfolg hatte ich mit einer Filter-Funktion, die in der functions.php Eures Themes einfach eingefügt werden kann. Ist es kein eigens erstelltes Theme, empfiehlt es sich, ein Child-Theme zu erstellen und dort nachstehenden PHP-Code einzufügen. Ansonsten würde Eure Modifikation nach einem Update wieder rausfliegen.

// disable specific plugins from updates
function filter_plugin_updates( $value ) {
    unset( $value->response['pluginverzeichnis/plugin.php'] );    
    return $value;
}
add_filter( 'site_transient_update_plugins', 'filter_plugin_updates' );

Für die fünf Plugins von WPML sieht der Codeschnipsel dann so aus:

// disable specific plugins from updates
function filter_plugin_updates( $value ) {
    unset( $value->response['wpml-string-translation/plugin.php'] );
    unset( $value->response['wpml-media-translation/plugin.php'] );
    unset( $value->response['wpml-to-multilingualpress/plugin.php'] );
    unset( $value->response['wpml-translation-management/plugin.php'] );
    unset( $value->response['sitepress-multilingual-cms/sitepress.php'] );
    unset( $value->response['acfml/wpml-acf.php'] );
    return $value;
}
add_filter( 'site_transient_update_plugins', 'filter_plugin_updates' );

Wichtig ist, dass der relative Pfad vom Verzeichnis wp-content aus genommen wird und dann die „richtige“ plugin.php erwischt. Diese erkennt Ihr daran, dass in den ersten Zeilen Meta-Daten zum Plugin, wie nachfolgendes Code-Beispiel Euch zeigt. Beim WPML Multilingual Plugin („sitepress-muzltilingual-cms“) hieß die gesuchte PHP-Datei nicht plugin.php, sondern sitepress.php.

<?php
/**
 * The plugin bootstrap file
 *
 * This file is read by WordPress to generate the plugin information in the plugin
 * admin area. This file also includes all of the dependencies used by the plugin,
 * registers the activation and deactivation functions, and defines a function
 * that starts the plugin.
 *
 * @link              http://example.com
 * @since             1.0.0
 * @package           Plugin_Name
 *
 * @wordpress-plugin
 * Plugin Name:       WordPress Plugin Boilerplate
 * Plugin URI:        http://example.com/plugin-name-uri/
 * Description:       This is a short description of what the plugin does. It's displayed in the WordPress admin area.
 * Version:           1.0.0
 * Author:            Your Name or Your Company
 * Author URI:        http://example.com/
 * License:           GPL-2.0+
 * License URI:       http://www.gnu.org/licenses/gpl-2.0.txt
 * Text Domain:       plugin-name
 * Domain Path:       /languages
 */

Leider habe ich kein Plugin gefunden, dass diese Aufgabe erledigt. Das Plugin Block Plugin Update beispielsweise nimmt die blockierten Plugins nicht aus der Update-Verfügbarkeitsbenachrichtigung raus, sondern verhindert wirklich nur, dass kein Update möglich ist und bei einem Update-Versuch dieser fehlschlägt. 

Veröffentlicht von

Christopher Piontek

Ich bin ein technikbegeisterter Blogger, nebenberuflich (Fern-)Student der Wirtschaftsinformatik, hauptberuflicher Webentwickler und schreibe auf Bitpage.de gerne Technik-News, Tutorials und Reviews. Meine favorisierten Themen sind #Software, #Internet und digitale Fotografie.

Ein Gedanke zu „Bestimmte WordPress Plugins von den Updates ausnehmen“

  1. Danke für den Tipp! Habe jüngst das Problem mit dem Plugin YOAST SEO gehabt, denn die alte Version lief bei mir ohne Probleme, nach dem Update nur Komplikationen..

    Liebe Grüße
    Ralf

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.