Desactivar la actualización automática para un solo complemento

9

Tengo un complemento que sé que nunca quiero actualizar. Soy consciente de que NO es una buena práctica, pero en este caso debe hacerse. ¿Hay alguna forma de evitar que WordPress me pida que actualice automáticamente un complemento en particular (pero sigue siendo lo más normal para todos los demás complementos)?

    
pregunta GavinR 09.08.2011 - 02:02

6 respuestas

7

La respuesta de T31os fue correcta: aumentar el número de versión dentro del archivo principal del complemento ... por ejemplo. 99.9 ... y también realice ese mismo cambio dentro del archivo Léame para una buena medida (aunque no creo que sea realmente necesario) .. - t31os

    
respondido por el GavinR 09.08.2011 - 17:42
11

coloca esto en las funciones de tu tema.php

// Disable update notification for individual plugins - see my example of plugin block-spam-by-math-reloaded as to how to use this function

function filter_plugin_updates( $value ) {
    unset( $value->response['plugin-folder-name/plugin-file-name.php'] );    
    return $value;
}

add_filter( 'site_transient_update_plugins', 'filter_plugin_updates' );
    
respondido por el Tara 09.08.2011 - 02:37
3

Si bien la respuesta de Tara funciona bien, requiere que el programador ingrese la ruta al archivo del complemento principal y solo es funcional mientras ese tema en particular esté habilitado. Una solución alternativa podría tener este aspecto:

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

Coloque este código en la parte superior del archivo principal .php del complemento que desea desactivar. Si planea usar esto más de una vez en su sitio, cambie el _1234 en el filtro y el nombre de la función a un conjunto diferente de números aleatorios para evitar nombres de funciones duplicados.

Lo más probable es que si deshabilitas las actualizaciones de un complemento en particular, es porque lo estás editando por alguna razón ... así que agregar algunas líneas adicionales a ese complemento debería ser viable.

    
respondido por el emc 25.09.2013 - 21:35
3

Estaba recibiendo advertencias de PHP como 'gurung' mencionadas anteriormente cuando instalé o actualicé otros complementos cuando estaba usando este código. Vi las advertencias de PHP en WP 4.3.1.

Encontré algunas otras publicaciones en stackexchange sobre el problema y encontré una función que recorre su matriz de referencias de complementos y verifica primero si ya hay una referencia a ese complemento (para evitar la advertencia de PHP en no objetos si no hay uno) y si hay un objeto, lo desarmará igual que el código original.

No he realizado pruebas unitarias, pero recibía advertencias de PHP en cada actualización / instalación de complementos y ahora no los veo.

function filter_plugin_updates( $value ) {

  // Add references to plugins you want to disable update notices for in the $plugins array
  $plugins = array(
    'k-elements/setup.php'
  );

  foreach( $plugins as $plugin ) {
    if ( isset( $value->response[$plugin] ) ) {
      unset( $value->response[$plugin] );
    }
  }

  return $value;

}
add_filter( 'site_transient_update_plugins', 'filter_plugin_updates' );
    
respondido por el thetrickster 21.09.2015 - 18:02
1

O simplemente cambia el nombre para que no sea el mismo complemento.
Debe cambiar el nombre no solo de la carpeta, sino también en el encabezado Léame y el complemento.

    
respondido por el anmari 09.08.2011 - 03:25
0

Heredé un sitio con la implementación de npc del código snip de tara, que arrojó errores por el comentario de gurung. Me volví loco. Dudé en editar código en un complemento, hasta que me di cuenta de que el snipper es personalizado de todos modos.

Para eliminar los errores, cambia esto:

unset($value->response[ plugin_basename(__FILE__) ]);

a esto:

if($value) {
    unset($value->response[ plugin_basename(__FILE__) ]);
}

Puede que sea obvio para algunos, pero la clave es que ya está personalizado para que pueda editarlo y probably no será sobrescrito por las actualizaciones porque El objetivo es evitar que actualices el complemento.

    
respondido por el Phreditor 17.12.2015 - 22:44

Lea otras preguntas en las etiquetas