it-swarm-eu.dev

Odinstaluje plugin vždy WordPress zpět do původního stavu?

Jaký je životnost pluginu v rámci nasazené instance aplikace WordPress?

A to:

  • upravují zásuvné moduly existující soubory nebo používají pouze definované body rozšíření v aplikaci WordPress?
  • jsou pluginy povoleny ke změně schématu databáze (např. přidání nových sloupců)?
  • jak Wordpress ujistěte se, že plugin odinstalovat vždy opustí WP v původním stavu? (To dělá?)
4
Marek

Stručná odpověď:

  • Pluginy nemodifikují existující soubory, zavádějí se do WordPressu přes exponované API.
  • Pluginy mohou modifikovat databázové schéma.
  • Pluginy nemusí odinstalovat čistě.

Zásuvkové háčky

Pluginy zavěsí do WordPressu v určitém místě vystaveném jádrem WordPressu.

http://codex.wordpress.org/Plugin_API

Jako příklad, funkce get_option() čte možnost webu z databáze. Než bude v této funkci provedena jakákoli skutečná akce, WordPress volá apply_filters( 'pre_option_' . $option, false ). Vzhledem k možnosti foobar by plugin mohl přepsat skutečnou hodnotu této volby následujícím kódem:

function override_foobar( $unused ) {
    return 'My custom value.';
}
add_filter( 'pre_option_foobar', 'override_foobar' ); // add_filter(hook, function)

Viz také http://adambrown.info/p/wp_hooks/ .

Pluginy modifikující databázi

Pluginy mají schopnost upravovat databázi, za předpokladu, že uživatel databáze WordPress má stále toto oprávnění. Některé složitější pluginy přidávají vlastní tabulky. Je možné, že by plugin mohl modifikovat základní tabulky, a doufejme, že by to dělali zodpovědně a způsobem, který by v případě, že by byl plugin odstraněn.

To musí být zkoumáno na základě plugin-by-plugin.

Odinstalace zásuvných modulů

Funkce deactivate_plugins() volá akci do_action( 'deactivate_' . trim( $plugin ) ). Zásuvný modul by se měl připojit k této akci, pokud se při deaktivaci pluginu musí provést určité věci. Podle mých zkušeností několik pluginů dělá spoustu deaktivace vyčištění, tj. jejich nastavení v chladicím prostoru, pokud jsou znovu aktivovány.

15
Annika Backstrom

Pluginy ve WordPressu dělají to, co říká kód. Chcete-li odpovědět konkrétně na vaše dotazy,

  1. Neměli by, ale nic jim nebrání v úpravách základních souborů.
  2. Jsou povoleny plně rozhraní s databází v žádném případě, že WordPress sám může.
  3. WordPress nezajistí, že odinstalace pluginu nezničí celou instalaci. Pokud autor pluginu nastaví funkci odinstalace na smazání všeho, udělá to.

Takže to ponechává otázku, co lze udělat, pokud autor plugin prozradí vaši důvěru a dělá něco škodlivého na vaše stránky? Pravidelné zálohování adresáře wp-content a celé databáze je nejlepším způsobem, jak zajistit, že se budete moci v případě, že se na vašich stránkách něco stane (např. Ztráta dat, napadení hackem, špatný plugin atd.), Obnovit. .

3
John P Bloch

Rovná odpověď: NE

Zásuvné moduly mohou s kódem PHP dělat cokoliv, co můžete udělat.

1
User