it-swarm.dev

Wordpress- como desabilitar a atualização do plugin

Eu encontrei um ótimo plugin para o Wordpress sob licença GPLv2 e fiz muitas mudanças no código fonte, o plugin faz outra coisa agora. Eu modifiquei o autor (com créditos do autor do plugin original), url, número da versão (de xxx 1,5 a yyy 1,0).

Tudo funciona muito bem, mas quando o Wordpress verifica as atualizações do plugin, ele trata o meu plugin yyy 1.0 como xxx 1.0 e exibe uma notificação sobre a atualização disponível.

Meu plugin alterado yyy 1.0 foi instalado copiando arquivos do meu computador, não do repositório WP.

O que mais eu tenho que mudar? 

33
pp_1

No arquivo de plug-in, haverá uma função que verificará as atualizações. O autor original poderia ter nomeado qualquer coisa, então você terá que passar pelo código e verificar cada função e o que ela faz. Eu imagino que a função será bastante óbvia quanto ao que faz.

Alternativamente, você pode adicionar isso ao seu arquivo de plugin:

add_filter( 'http_request_args', 'dm_prevent_update_check', 10, 2 );
function dm_prevent_update_check( $r, $url ) {
    if ( 0 === strpos( $url, 'http://api.wordpress.org/plugins/update-check/' ) ) {
        $my_plugin = plugin_basename( __FILE__ );
        $plugins = unserialize( $r['body']['plugins'] );
        unset( $plugins->plugins[$my_plugin] );
        unset( $plugins->active[array_search( $my_plugin, $plugins->active )] );
        $r['body']['plugins'] = serialize( $plugins );
    }
    return $r;
}

Créditos: http://developersmind.com/2010/06/12/preventing-wordpress-from-checking-for-updates-for-a-plugin/

21
danyo

Desativar atualização do plug-in

Adicione este código no seu arquivo raiz do plugin.

add_filter('site_transient_update_plugins', 'remove_update_notification');
function remove_update_notification($value) {
     unset($value->response[ plugin_basename(__FILE__) ]);
     return $value;
} 
36
Kishan Chauhan

Coloque este código no arquivo functions.php do tema. Isso está funcionando para mim e eu estou usando. Também isso é para o plugin específico. Aqui você precisa alterar o URL do arquivo principal do plugin para que corresponda ao do seu plugin.

 function my_filter_plugin_updates( $value ) {
   if( isset( $value->response['facebook-comments-plugin/facebook-comments.php'] ) ) {        
      unset( $value->response['facebook-comments-plugin/facebook-comments.php'] );
    }
    return $value;
 }
 add_filter( 'site_transient_update_plugins', 'my_filter_plugin_updates' );

Aqui:

"facebook-comments-plugin" => nome da pasta do plugin de comentários do facebook

"facebook-comments.php" => arquivo principal do plugin.this pode ser diferente como index.php

Espero que isso seja ajuda.

27
Sumith Harshan

A maneira mais simples e eficaz é mudar a versão do plugin que você não quer atualizar. Para um exemplo Se eu não quiser que o wptouch seja atualizado, eu abro é arquivo de definição, que é como: 

/*
    Plugin Name: WPtouch Mobile Plugin
    Plugin URI: http://www.wptouch.com/
    Version: 4.0.4

*/

Aqui na versão mudar 4.0.4 para 9999 Como: 

/*
    Plugin Name: WPtouch Mobile Plugin
    Plugin URI: http://www.wptouch.com/
    Version: 9999

*/
13
Abhinav bhardwaj
add_filter('site_transient_update_plugins', '__return_false');

em function.php adicione o código acima e desabilite todas as atualizações de plugins

12
victor

Aqui está uma versão atualizada do script de Mark Jaquith:

  • Atualizações do WP mudaram para HTTPS
  • Unserialize foi bloqueado na minha hospedagem compartilhada
  • Isso usa json_decode e json_encode
  • Crédito: Atualização do plugin de bloco

.

add_filter( 'http_request_args', 'widget_disable_update', 10, 2 );

function widget_disable_update( $r, $url ) {
    if ( 0 === strpos( $url, 'https://api.wordpress.org/plugins/update-check/' ) ) {
        $my_plugin = plugin_basename( __FILE__ );
        $plugins = json_decode( $r['body']['plugins'], true );
        unset( $plugins['plugins'][$my_plugin] );
        unset( $plugins['active'][array_search( $my_plugin, $plugins['active'] )] );
        $r['body']['plugins'] = json_encode( $plugins );
    }
    return $r;
}
2
skibulk

Desativar atualizações de plugins manualmente:

  1. Abra o arquivo functions.php (vá para a pasta de temas ativados)
  2. Copie e cole o seguinte código:

remove_action( 'load-update-core.php', 'wp_update_plugins' );

add_filter( 'pre_site_transient_update_plugins', create_function( '$a', "return null;" ) );

  1. Salvar as alterações e pronto
0
Hemant Ramphul

Adicione esta linha ao wp-config.php para desativar as atualizações do plugin:

define('DISALLOW_FILE_MODS',true);
0
Tanto Prihartanto