Intereting Posts
массовой массовой обрезки для избранных изображений Должно ли escape_template_directory_uri () `сбежать? Удалить категорию базы для одной категории 2 отдельная установка 1 тема тот же сервер Удалить трейлинг-слэш из базы категорий и тегов Плагин Lightbox Plus ColorBox и автоматическое воспроизведение видео на YouTube Отображать наиболее популярные сообщения категории, даже если они принадлежат к нескольким категориям Почтальон: wp_mail был объявлен другим плагином или темой Экран ввода комментариев отображается, хотя флажок «Разрешить комментарии» не установлен дублировать боковую панель Как проверить, фильтрует ли пользовательский список пользователей на панели управления add_rewrite_rule в дочерней теме, чтобы запретить доступ к файлам PDF Изображение продукта Woocommerce Как я могу получить «предыдущий» и «следующий», чтобы показывать в навигации помимо ссылок? Многократный налоговый запрос с мета-ключом

Как я могу исключить автоматическое обновление плагинов?

Существует фильтр выбора, который позволяет всем плагинам на моем сайте получать автоматические обновления:

add_filter( 'auto_update_plugin', '__return_true' );

Мне нравится эта функция, но я не хочу, чтобы все мои плагины обновлялись автоматически. Как я могу позволить некоторым плагинам обновляться автоматически, исключая те, которые я хочу сделать вручную?

Solutions Collecting From Web of "Как я могу исключить автоматическое обновление плагинов?"

Вместо того, чтобы использовать код из вопроса в functions.php, замените его следующим:

 /** * 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 ); 

Этот код можно легко настроить, чтобы настроить тему и основные обновления.

В WordPress 3.8.2 ( 27905 ) добавлена ​​статистика обновления плагина и темы. Вышеупомянутая функция использует пул для идентификации плагинов, но вы можете использовать любую информацию об объекте (в $ 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 

Для WordPress 3.8.1 и ниже используйте эту функцию:

 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 ); 

Опоры идут на @ WiseOwl9000 для указания изменения с помощью WP 3.8.2

Обратите внимание, что в wordpress 3.8.2 тип элемента плагина, переданного этой функции, изменился, и теперь он является объектом.

 /** * @package Plugin_Filter * @version 2.0 */ /* Plugin Name: Plugin Filter Plugin URI: http://www.brideonline.com.au/ Description: Removes certain plugins from being updated. Author: Ben Wise Version: 2.0 Author URI: https://github.com/WiseOwl9000 */ /** * @param $update bool Ignore this it just is set to whether the plugin should be updated * @param $plugin object Indicates which plugin will be upgraded. Contains the directory name of the plugin followed by / followed by the filename containing the "Plugin Name:" parameters. */ function filter_plugins_example($update, $plugin) { $pluginsNotToUpdate[] = "phpbb-single-sign-on/connect-phpbb.php"; // add more plugins to exclude by repeating the line above with new plugin folder / plugin file if (is_object($plugin)) { $pluginName = $plugin->plugin; } else // compatible with earlier versions of wordpress { $pluginName = $plugin; } // Allow all plugins except the ones listed above to be updated if (!in_array(trim($pluginName),$pluginsNotToUpdate)) { // error_log("plugin {$pluginName} is not in list allowing"); return true; // return true to allow update to go ahead } // error_log("plugin {$pluginName} is in list trying to abort"); return false; } // Now set that function up to execute when the admin_notices action is called // Important priority should be higher to ensure our plugin gets the final say on whether the plugin can be updated or not. // Priority 1 didn't work add_filter( 'auto_update_plugin', 'filter_plugins_example' ,20 /* priority */,2 /* argument count passed to filter function */); 

Объект $ plugin имеет следующее:

 stdClass Object ( [id] => 10696 [slug] => phpbb-single-sign-on [plugin] => phpbb-single-sign-on/connect-phpbb.php [new_version] => 0.9 [url] => https://wordpress.org/plugins/phpbb-single-sign-on/ [package] => https://downloads.wordpress.org/plugin/phpbb-single-sign-on.zip )