禁用外掛的自動升級提示

WordPress 出名的就是可以讓你嘗試不同的外掛,不過如果像我之前故意要用舊版外掛,或是有其他特別原因而不想看到外掛自動升級的提示的話,這裡有教說怎樣可以不用再看到外掛的升級提示囉。

  1. 完全禁用升級提示:
  2. 只要把這段代碼加到某個外掛的主文件裡面,就可以看不到升級提示囉。

    add_filter('option_update_plugins', 'plugin_prevent_upgrade');
    function plugin_prevent_upgrade($opt){
        $plugin = plugin_basename(__FILE__);
        if($opt && isset($opt->response[$plugin])){
            //有升級提示?去除之
            unset($opt->response[$plugin]);
        }
        return $opt;
    }

    作者有說明,這樣做的話,如果外掛有新版的話,就都不會通知你囉。所以有下面這一個變通的作法:

  3. 保留升級提示,但去除升級鏈接:
  4. add_filter('option_update_plugins', 'plugin_prevent_upgrade');
    function plugin_prevent_upgrade($opt){
        $plugin = plugin_basename(__FILE__);
        if($opt && isset($opt->response[$plugin])){
            //有升級提示?去除自動升級的功能
            $opt->response[$plugin]->package = '';
        }
        return $opt;
    }
  5. 去除自動升級功能,替換為其他的提示信息:
  6. 還可以把升級提示換成你想要的文字。

    add_filter('option_update_plugins', 'plugin_prevent_upgrade');
    function plugin_prevent_upgrade($opt){
        $plugin = plugin_basename(__FILE__);
        if($opt && isset($opt->response[$plugin])){
            //有升級提示?去除之
            unset($opt->response[$plugin]);
            //自定義的提示信息
            add_action("after_plugin_row_$plugin", 'plugin_update_disabled_notice');
        }
        return $opt;
    }
    function plugin_update_disabled_notice(){
        echo '<tr><td class="plugin-update" colspan="5">自定義的信息。</td></tr>';
    }
  7. 保留升級提示,去除自動升級功能,同時加入其他的提示信息:
  8. 所以綜合上面的方式,作者另外也寫了這個作法。

    add_filter('option_update_plugins', 'plugin_prevent_upgrade');
    function plugin_prevent_upgrade($opt){
        $plugin = plugin_basename(__FILE__);
        if($opt && isset($opt->response[$plugin])){
            //有升級提示?去除自動升級功能
            $opt->response[$plugin]->package = '';
            //自定義的提示信息
            add_action("after_plugin_row_$plugin", 'plugin_update_disabled_notice');
        }
        return $opt;
    }
    function plugin_update_disabled_notice(){
        echo '<tr><td class="plugin-update" colspan="5">自定義的信息。</td></tr>';
    }
  9. 最後一招大絕招,禁止所有插件的升級提示:
  10. 以上都是針對某一個特定的插件,如果要禁止所有插件的升級提示,請在主題的 functions.php 中寫入以下代碼

    add_action('admin_menu', create_function('$a', "remove_action('admin_init', 'wp_update_plugins');"));
    add_action('admin_menu', create_function('$a', "remove_action('admin_init', '_maybe_update_plugins');"));
    add_action('admin_init', create_function('$a', "remove_action('load-plugins.php', 'wp_update_plugins');"));
    add_action('plugins_loaded', create_function('$a', "remove_action('init', 'wp_update_plugins');"));
    add_action('admin_init', create_function('$a', "remove_action('after_plugin_row', 'wp_plugin_update_row');"));

這樣我就不用看到 share-this 的升級提示囉:08(雖然很對不起努力寫新外掛的作者:XD

Please follow and like us:

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *