Wordpress - cómo desactivar la actualización del plugin


He encontrado un gran plugin para Wordpress bajo la licencia GPLv2 e hice muchos cambios en el código fuente, plugin hace algo más ahora. He modificado autor (con los créditos del autor del plugin original), url, número de versión (de xxx 1.5 a yyy 1.0).

Todo funciona muy bien, pero cuando Wordpress comprueba si hay actualizaciones de complementos, trata mi plugin yyy 1.0 como xxx 1.0 y muestra una notificación sobre la actualización disponible.

Mi plugin cambiado yyy 1.0 se instaló copiando archivos de mi computadora, no del repositorio WP.

¿Qué más tengo que cambiar?

Author: pp_1, 2013-07-27

7 answers

En el archivo plugin, habrá una función que buscará actualizaciones. El autor original podría haber nombrado esto cualquier cosa, por lo que tendrá que ir a través del código y comprobar cada función y lo que hace. Me imagino que la función será bastante obvia en cuanto a lo que hace.

Alternativamente, puede agregar esto a su archivo de complemento:

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/

 16
Author: danyo,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-11-12 18:40:29

Desactivar la actualización del plugin

Añade este código en el archivo raíz del plugin.

add_filter('site_transient_update_plugins', 'remove_update_notification');
function remove_update_notification($value) {
     unset($value->response[ plugin_basename(__FILE__) ]);
     return $value;
} 
 34
Author: Kishan Chauhan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-11-12 18:44:26

Ponga este código en las funciones del tema.archivo php. Esto funciona para mí y lo estoy usando. También esto es para plugin específico. Aquí necesita cambiar la url del archivo principal del plugin para que coincida con la de su 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' );

Aquí:

"facebook facebook-comments-plugin" = > facebook comments plugin nombre de la carpeta

"facebook-comentarios.php " = > archivo principal del plugin.esto puede ser diferente como índice.php

Espero que esto sea de ayuda.

Más detalles en mi blog.

 23
Author: Sumith Harshan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-11-12 18:42:51

La forma más sencilla y efectiva es cambiar la versión del plugin que no desea actualizar. Por ejemplo si no quiero que wptouch se actualice, abro su archivo de definación, que es como:

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

*/

Aquí, en el cambio de Versión 4.0.4 a 9999 como:

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

*/
 11
Author: Abhinav bhardwaj,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-04-27 11:40:15
add_filter('site_transient_update_plugins', '__return_false');

En función.php añade el código anterior y desactiva todas las actualizaciones de plugins

 10
Author: victor,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-05-10 08:53:44

Aquí está una versión actualizada del guion de Mark Jaquith:

  • Las actualizaciones de WP han cambiado a HTTPS
  • Unserialize fue bloqueado en mi alojamiento compartido
  • Esto usa json_decode y json_encode en su lugar
  • Crédito: Bloque Plugin Update

.

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;
}
 1
Author: skibulk,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-08-30 00:49:30

Desactivar actualizaciones de plugin manualmente:

  1. Abrir funciones.archivo php (vaya a su carpeta de temas activados)
  2. Copie y pegue el siguiente código:

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

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

  1. Guarda los cambios y listo
 0
Author: Hemant Ramphul,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-09-18 18:59:08