Come disattivare la disattivazione del plugin dal pannello di amministrazione di WordPress
Una delle parti migliori di WordPress è la disponibilità di plugin che semplificano il tuo lavoro come utente e come sviluppatore. Spesso durante la creazione di siti per i clienti, come sviluppatori utilizziamo plug-in che sono assolutamente cruciali per il sito per avere determinate funzionalità. Recentemente, ci siamo imbattuti in un problema in cui uno dei siti del nostro cliente era rotto. La barra laterale non si caricava completamente, mancavano elementi nella pagina del singolo post che li spaventava. La linea di fondo di questa storia è stata che uno dei nuovi membri dello staff che era nuovo a WordPress ha disattivato alcuni dei plug-in necessari per il corretto funzionamento del sito. Siamo entrati e abbiamo attivato tutti i plugin che erano stati disattivati, ma ci doveva essere qualcosa da fare per evitare questo problema in futuro. In questo articolo, ti mostreremo come disabilitare la disattivazione del plugin da WordPress Admin Panel (solo per plugin specifici).
In teoria, dovresti essere in grado di utilizzare il plug-in Membri di Justin Tadlock e creare un nuovo ruolo per gli utenti. Tuttavia, il cliente che non avevamo voluto seguire questa strada. È una piccola impresa e hanno assunto questo nuovo dipendente per gestire i loro social media e blog, quindi non possiamo limitare l'accesso. Volevano dargli la possibilità di attivare / disattivare i plugin a suo piacimento. Dovevamo trovare un modo per mantenere il nostro cliente felice e dovevamo anche trovare un modo per evitare che questo problema si verificasse in futuro. Fortunatamente a Steve Taylor, abbiamo trovato uno snippet che ti consente di rimuovere il link "Disattiva" dai plugin specificati. Rimuove anche il link Modifica per tutti i plugin perché non volevamo che il nostro client modificasse alcun plugin tramite l'editor.
Quindi tutto ciò che devi fare è incollare i seguenti codici nel file functions.php del tuo tema:
add_filter ('plugin_action_links', 'disable_plugin_deactivation', 10, 4); function disable_plugin_deactivation ($ actions, $ plugin_file, $ plugin_data, $ context) // Rimuovi il link di modifica per tutti if (array_key_exists ('edit', $ actions)) unset ($ actions ['edit']); // Rimuove il collegamento disattivato per plugin cruciali se (array_key_exists ('deactivate', $ actions) && in_array ($ plugin_file, array ('facebook-open-graph-meta-in-wordpress / fbogmeta.php', 'wp-pagenavi / wp-pagenavi.php '))) unset ($ actions [' deactivate ']); restituire $ azioni;
Ora, devi cambiare l'array di $ plugin_file dove vedi l'elenco dei plugin specificati. Il percorso del file è relativo a / wp-content / plugins /. Quindi nell'esempio sopra 'facebook-open-graph-meta-in-wordpress / fbogmeta.php' è un file che si trova nella cartella facebook-open-graph-meta-in-wordpress che si trova all'interno della cartella dei plugin. Puoi modificare l'elenco per aggiungere tutti i plugin che desideri.
Questo trucco è una scorciatoia e in realtà non impedisce l'effettiva disattivazione. Tutto quello che stiamo facendo è nascondere il link Disattiva. Chiunque abbia un po 'di conoscenza di WordPress può generare un URL di disattivazione ed eseguirlo. Ma se il tuo cliente è abbastanza furbo da farlo, allora sa già cos'è l'FTP e può semplicemente eliminare i plugin in questo modo.
Stai lavorando su un tema che richiede assolutamente un plugin specifico per farlo funzionare correttamente? Quindi non dimenticare di rilasciare il codice qui sopra.