Dezactivare notificări de actualizare pentru plugin-uri individuale
Există vreo metodă de a dezactiva notificările de actualizare pentru anumite plugin-uri?
Ca dezvoltator de plugin-uri, am instalat unele plugin-uri pe site-ul meu personal folosind versiunea svn trunk pentru testare, dar aceleași plugin-uri sunt disponibile și pe site-ul oficial de plugin-uri. În aceste cazuri, WP consideră că ultima versiune este cea mai recent publicată și încearcă constant să mă avertizeze că sunt disponibile actualizări.
Încă doresc să văd notificări pentru actualizările altor plugin-uri, dar este enervant să ignor constant notificarea Actualizări (2)
din antet!

De exemplu, dacă nu dorești ca WordPress să afișeze notificări de actualizare pentru Akismet, poți face asta în felul următor:
function filter_plugin_updates( $value ) {
unset( $value->response['akismet/akismet.php'] );
return $value;
}
add_filter( 'site_transient_update_plugins', 'filter_plugin_updates' );

Am plasat asta la sfârșitul fișierului ./wp-config.php
, am înlocuit calea către fișierul pluginului și a funcționat.

Puteți pune asta în functions.php din tema dvs., dacă nu este posibil, atunci puteți crea un fișier separat pentru plugin. În opinia mea, plasarea acestuia în wp-config.php nu este o idee bună.

Nu doresc să fie funcția mea legată de temă, iar adăugarea unui plugin mi se pare la fel de hack ca și modificarea directă a pluginului pe care îl am. Poți să explici de ce consideri că wp-config.php nu este un loc bun pentru hack-uri specifice configurației site-ului?

Foarte bună soluție, care a funcționat perfect pentru mine în functions.php. Este ușor să adaugi mai multe plugin-uri în listă, pur și simplu adăugând un alt unset()... Bun sfat, Hameedullah..

Mă bucur să te văd aici. :) Sper că încă îți amintești de mine. Minunat că acest sfat a funcționat pentru tine.

A funcționat perfect pentru mine!! Sunt atât de fericit că am ignorat celelalte soluții pe care eram pe cale să le încerc și am continuat să caut până am găsit aceasta. PLUS, MULȚUMESC Caleb că mi-ai spus unde să pun acest cod; la sfârșitul wp-config.php ESTE locul corect! (NU functions.php!)

Pentru cei care au aceleași observații ca @Caleb, creați în folderul wp-content un nou folder numit: mu-plugins
și creați un mic plugin pe care îl plasați acolo. Adăugarea lui în wp-config.php
așa cum au menționat unii mai sus este, după părerea mea, absolut locul greșit pentru a face acest lucru.

Răspunsul lui Hameedullah Khan poate genera un avertisment PHP. Include această condiție pentru a verifica dacă este un obiect înainte de a elimina răspunsul pentru acel plugin.
'Warning: Attempt to modify property of non-object'
Încearcă această soluție pentru a evita avertismentele (cod pentru fișierul pluginului în sine):
// elimină notificările de actualizare pentru plugin-uri fork-uite
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' );
Personal, prefer să adaug acest cod direct în plugin. De obicei, dezactivez actualizările pentru un plugin doar când l-am modificat sau am creat un fork și nu vreau să pierd modificările la o actualizare. Deci, deja am modificat plugin-ul și nu mă deranjează să adaug încă un pic de cod. Acest lucru menține fișierul functions.php mai curat. Dar dacă dorești, poți pune codul în fișierul functions.php, iar un avantaj al acestei metode este că poți elimina mai multe plugin-uri din lista de actualizări prin adăugarea altor linii unset, astfel (cod pentru functions.php):
// elimină notificările de actualizare pentru plugin-uri fork-uite
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' );

Mulțumesc pentru asta. Am avut probleme folosind acest cod direct în plugin-uri, părea ok când era un singur plugin, dar imediat ce am încercat cu altele (cu nume diferite de funcții) am pierdut notificările pentru toate plugin-urile și link-ul "vezi detalii" pentru plugin-urile din repo-ul wp a dispărut de asemenea.
Folosind verificările tale, dar plasând în functions.php al temei mele, a fost mai fiabil fără interferențe cu notificările de actualizare pentru alte plugin-uri.
În final, faptul că nu e în plugin are beneficiul de a nu necesita ca acel plugin să fie activ pentru a funcționa. Dezactivarea unui plugin cu acest cod va face, evident, ca notificările de actualizare să reapară.

Dezactivează toate notificările de actualizare cu cod
/**
* Elimină notificările de actualizare pentru WordPress, plugin-uri și teme
*/
function remove_core_updates(){
global $wp_version;
return(object) array(
'last_checked' => time(),
'version_checked' => $wp_version,
);
}
// Aplică filtrele pentru a dezactiva notificările
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');
Acest cod va dezactiva notificările de actualizare pentru nucleul WordPress, plugin-uri și teme.
