Anstatt den Code aus der Frage in functions.php zu verwenden, ersetzen Sie ihn durch diesen:
/**
* Prevent certain plugins from receiving automatic updates, and auto-update the rest.
*
* To auto-update certain plugins and exclude the rest, simply remove the "!" operator
* from the function.
*
* Also, by using the 'auto_update_theme' or 'auto_update_core' filter instead, certain
* themes or Wordpress versions can be included or excluded from updates.
*
* auto_update_$type filter: applied on line 1772 of /wp-admin/includes/class-wp-upgrader.php
*
* @since 3.8.2
*
* @param bool $update Whether to update (not used for plugins)
* @param object $item The plugin's info
*/
function exclude_plugins_from_auto_update( $update, $item ) {
return ( ! in_array( $item->slug, array(
'akismet',
'buddypress',
) ) );
}
add_filter( 'auto_update_plugin', 'exclude_plugins_from_auto_update', 10, 2 );
Dieser Code kann einfach angepasst werden, um auch Themen- und Kernupdates anzupassen.
Statistiken zu Plugins und Themes wurden in Wordpress 3.8.2 ( 27905 ) hinzugefügt . Die obige Funktion verwendet den Slug, um die Plugins zu identifizieren, aber Sie können jede der Informationen des Objekts verwenden (in $ item):
[id] => 15
[slug] => akismet
[plugin] => akismet/akismet.php
[new_version] => 3.0.0
[url] => https://wordpress.org/plugins/akismet/
[package] => https://downloads.wordpress.org/plugin/akismet.3.0.0.zip
Verwenden Sie für Wordpress 3.8.1 und niedriger stattdessen diese Funktion:
function exclude_plugins_from_auto_update( $update, $item ) {
return ( ! in_array( $item, array(
'akismet/akismet.php',
'buddypress/bp-loader.php',
) ) );
}
add_filter( 'auto_update_plugin', 'exclude_plugins_from_auto_update', 10, 2 );
Die Requisiten gehen zu @ WiseOwl9000, um auf die Änderung mit WP 3.8.2 hinzuweisen
Beachten Sie, dass sich ab WordPress 3.8.2 der Typ des an diese Funktion übergebenen Plugin-Elements geändert hat und es sich nun um ein Objekt handelt.
Das $ plugin-Objekt hat Folgendes:
quelle