Desativar notificação de atualização para plugins individuais

44

Existe uma maneira de desativar as notificações de atualização para plugins específicos?

Como desenvolvedor de plug-in, tenho alguns plug-ins instalados no meu site pessoal usando a versão de tronco do svn para teste, mas os mesmos plug-ins estão disponíveis no site de plug-in. Nestes casos, o WP considera que a versão mais recente é a versão mais publicada recentemente e constantemente tenta avisar-me que as atualizações estão disponíveis.

Eu ainda quero ver notificações de atualizações em outros plugins, mas é irritante ignorar constantemente a Updates (2) notice no cabeçalho!

    
por Caleb 21.06.2011 / 12:12
fonte

3 respostas

59

Por exemplo, se você não quiser que o Wordpress mostre notificações de atualização para o akismet, você fará como:

function filter_plugin_updates( $value ) {
    unset( $value->response['akismet/akismet.php'] );
    return $value;
}
add_filter( 'site_transient_update_plugins', 'filter_plugin_updates' );
    
por Hameedullah Khan 21.06.2011 / 16:44
fonte
25

A resposta de Hameedullah Khan lançará um aviso de PHP. Inclua esta cláusula if para verificar se é um objeto antes de desabilitar a resposta para esse plug-in.

'Aviso: tentativa de modificar a propriedade de não objeto'

Tente evitar os avisos (código do próprio arquivo de plug-in):

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

Eu gosto de colocar isso no plugin real. Como eu sempre desativei atualizações em um plugin porque editei ou bifurquei o código e não quero perder minhas edições em uma atualização, já editei o plug-in e não me importo de editá-lo mais. Ele mantém meu arquivo de funções um pouco mais limpo. Mas se você quiser, pode colocá-lo no arquivo de funções e um benefício para esse método é que você pode remover vários plugins de atualizações adicionando outra linha não definida para esse plugin como (código para 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' );
    
por circlecube 27.01.2015 / 16:01
fonte
2

Desativar todas as notificações de atualização com código

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

O código desativará as notificações de atualização para o núcleo, os plug-ins e os temas do WordPress.

    
por Super Model 09.05.2018 / 13:09
fonte