Jak znemožnit deaktivaci pluginů
Pokud uděláte webovou stránku na WordPressu, často se stává, že její bytí či nebytí bezpodmínečně závisí na určitých pluginech. A pokud se o svůj výtvor nestaráte sami, mohlo by se stát, že je nějaký šťoura vypne a komplet tím zruší celý web. To by samozřejmě bylo velice nepříjemné, a proto je třeba se proti tomu účinně bránit.
Pomocí dnešního snippetu vytvoříme soubor základních pluginů, které nepůjde smazat, upravit ani deaktivovat.
Script je následující:
1 2 3 4 5 6 7 8 9 10 11 12 |
add_filter( 'plugin_action_links', 'lock_plugins', 10, 4 ); function lock_plugins( $actions, $plugin_file, $plugin_data, $context ) { if ( array_key_exists( 'edit', $actions ) ) unset( $actions['edit'] ); if ( array_key_exists( 'deactivate', $actions ) && in_array( $plugin_file, array( 'akismet/akismet.php', 'all-in-one-seo-pack/all_in_one_seo_pack.php' ))) unset( $actions['deactivate'] ); return $actions; } |
V tomto konkrétním příkladu (který vložíte standardně do functions.php) byly nastaveny „nevypnutelné“ pluginy Akismet a All in one seo pack. Přidávat či ubírat je můžete dle libosti.
Napsat komentář