Disattivare l'Aggiornamento Automatico per un Singolo Plugin WordPress
Ho un plugin che so che non voglio mai aggiornare. Sono consapevole che questa NON è una buona pratica, ma in questo caso è necessario. C'è un modo per impedire a WordPress di sollecitarmi ad aggiornare automaticamente un particolare plugin (mantenendo però gli avvisi normali per tutti gli altri plugin).

inserisci questo nel file functions.php del tuo tema
// Disabilita le notifiche di aggiornamento per singoli plugin - vedi il mio esempio del plugin block-spam-by-math-reloaded per capire come usare questa funzione
function filter_plugin_updates( $value ) {
unset( $value->response['nome-cartella-plugin/nome-file-plugin.php'] );
return $value;
}
add_filter( 'site_transient_update_plugins', 'filter_plugin_updates' );

Non capisco perché ci sia un codice del pulsante Google +1 nella tua risposta... Probabilmente un residuo...

Questa soluzione genera un avviso durante l'attivazione o disattivazione di qualsiasi altro plugin. Warning: Attempt to modify property of non-object in /home/XXXXXX/public_html/wp-content/themes/XXXXXXX/custom-functions.php on line 15

La risposta di T31os era corretta: aumenta il numero di versione all'interno del file principale del plugin... ad esempio 99.9... e apporta la stessa modifica anche nel file readme per maggiore sicurezza (anche se non penso sia effettivamente necessario).. – t31os

Sebbene la risposta di Tara funzioni bene, richiede che il programmatore inserisca il percorso del file principale del plugin e funziona solo finché quel particolare tema è attivo. Una soluzione alternativa potrebbe essere questa:
add_filter('site_transient_update_plugins', 'remove_update_notification_1234');
function remove_update_notification_1234($value) {
unset($value->response[ plugin_basename(__FILE__) ]);
return $value;
}
versione one-line:
add_filter('site_transient_update_plugins', function ($value) { unset($value->response[ plugin_basename(__FILE__) ]);return $value; });
Inserisci questo codice all'inizio del file .php
principale del plugin che desideri disabilitare. Se prevedi di utilizzarlo più di una volta nel tuo sito, cambia _1234
nel nome del filtro e della funzione con una serie diversa di numeri casuali per evitare nomi di funzione duplicati.
È probabile che se stai disabilitando gli aggiornamenti per un particolare plugin, sia perché lo stai modificando per qualche motivo... quindi aggiungere qualche riga in più a quel plugin dovrebbe essere fattibile.

Ricevevo avvisi PHP come quelli menzionati da 'gurung' quando installavo o aggiornavo altri plugin mentre utilizzavo questo codice. Ho visto questi avvisi PHP in WP 4.3.1.
Ho trovato altri post su stackexchange riguardanti il problema e ho creato una funzione che scorre l'array di riferimenti ai plugin e verifica prima se esiste già un riferimento a quel plugin (per evitare l'avviso PHP su non-oggetti se non ce n'è uno). Se esiste un oggetto, lo rimuove proprio come nel codice originale.
Non ho eseguito test unitari, ma ricevevo avvisi PHP ad ogni aggiornamento/installazione di plugin e ora non li vedo più.
function filter_plugin_updates( $value ) {
// Aggiungi riferimenti ai plugin per cui vuoi disabilitare gli avvisi di aggiornamento nell'array $plugins
$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' );

Ho ereditato un sito con l'implementazione npc dello snippet di codice di tara, che generava errori secondo il commento di gurung. Mi ha fatto impazzire. Ero titubante nel modificare il codice di un plugin, fino a quando non ho realizzato che lo snippet è comunque personalizzato.
Per eliminare gli errori, cambia questo:
unset($value->response[ plugin_basename(__FILE__) ]);
in questo:
if($value) {
unset($value->response[ plugin_basename(__FILE__) ]);
}
Potrebbe essere ovvio per alcuni, ma il punto chiave è che è già personalizzato quindi puoi modificarlo, e probabilmente non verrà sovrascritto dagli aggiornamenti perché lo scopo è proprio quello di evitare che tu aggiorni il plugin.

Puoi prevenire gli aggiornamenti semplicemente rinominando la cartella del plugin (o, nel caso di un plugin composto da un singolo file, rinominando quel file PHP). Questa è di gran lunga la soluzione più semplice. Inoltre, questo approccio rende evidente il fatto che hai modificato il codice agli sviluppatori futuri, incluso il "tuo futuro te stesso".

Una versione più alta nel file principale del plugin è la migliore, ma solo quando si aggiunge un hack speciale. Chiama un numero nullo/indefinito e rimarrà quindi in quella versione. Esempio:
Versione:
Ciò garantirà che nel 2100 non verrà aggiornato dopo la 9.9.9 o qualcosa di simile. È un approccio semplice per i plugin abbandonati che a un certo punto verranno sostituiti.
