it-swarm.asia

Eklenti kaldırma onu zaman WordPress'i orijinal kurtarma geri getir mi?

Dağıtılmış bir WordPress örneği içindeki bir eklenti ömrü nedir?

Yani:

  • eklentileri varolan dosyaları değiştiriyor mu yoksa yalnızca WordPress'te tanımlanmış uzantı noktalarını kullanıyor mu?
  • eklentilerinin veritabanı şemasını değiştirmesine izin veriliyor mu (ör. yeni sütunlar ekleyin)?
  • wordpress nasıl eklentinin kaldırılmasının daima orijinal durumda WP bıraktığından emin olur? (Yapar?)
4
Marek

Kısa cevap:

  • Eklentiler mevcut dosyaları değiştirmez, açık bir API üzerinden WordPress'e bağlanırlar.
  • Eklentiler veritabanı şemasını değiştirebilir.
  • Eklentileri temiz bir şekilde kaldırmak zorunda değilsiniz.

Eklenti Kancaları

Eklentiler, WordPress çekirdeği tarafından belirtilen belirli bir noktada WordPress'e bağlanır.

http://codex.wordpress.org/Plugin_API

Örnek olarak, get_option() işlevi veritabanından bir site seçeneğini okur. Bu işlev içinde herhangi bir gerçek işlem yapılmadan önce, WordPress apply_filters( 'pre_option_' . $option, false ) işlevini çağırır. foobar seçeneği göz önüne alındığında, bir eklenti bu seçeneğin gerçek değerini aşağıdaki kodla geçersiz kılabilir:

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

Ayrıca bakınız http://adambrown.info/p/wp_hooks/ .

Veritabanını değiştiren eklentiler

Eklentiler, WordPress veritabanı kullanıcısının hala bu izne sahip olduğunu varsayarak veritabanını değiştirme yeteneğine sahiptir. Daha karmaşık eklentilerin bazıları kendi tablolarını ekler. Bir eklentinin çekirdek tabloları değiştirmesi olasıdır ve umarım eklentiyi kaldırırsa bunu sorumlu bir şekilde ve işleri bozmayacak şekilde yaparlar.

Bu, eklenti bazında incelenmelidir.

Eklentileri kaldırma

deactivate_plugins() işlevi do_action( 'deactivate_' . trim( $plugin ) ) eylemini çağırır. Eklenti devre dışı bırakıldığında belirli şeylerin olması gerekiyorsa, bir eklenti bu eyleme bağlanmalıdır. Tecrübelerime göre, pek çok eklenti çok fazla devre dışı bırakma temizleme işlemi yapıyor. tekrar devreye girmeleri durumunda ayarlarını soğuk depoya koyma.

15
Annika Backstrom

WordPress eklentileri kodun ne dediğini yapar. Sorularınıza özellikle cevap vermek için,

  1. Yapmamalılar, ama çekirdek dosyaları değiştirmelerini engelleyecek hiçbir şey yok.
  2. WordPress'in yapabileceği herhangi bir şekilde veritabanıyla tam olarak etkileşime girmelerine izin verilir.
  3. WordPress, bir eklenti kaldırma işleminin tüm yüklemeyi mahvetmediğinden emin olmuyor. Bir eklenti yazarı her şeyi silmek için kaldırma işlevini ayarlarsa, bunu yapar.

Yani bu soruyu bırakıyor, eğer bir eklenti yazarı güveninize ihanet ederse ve sitenize zararlı bir şey yaparsa ne yapılabilir? Wp-içerik dizininizin yanı sıra tüm veritabanınızı da düzenli olarak yedeklemeniz, sitenize bir şey olması durumunda (örn. Veri kaybı, saldırı saldırısı, kötü eklenti, vb.) Kurtarılabileceğinizi garanti etmenin en iyi yoludur. .

3
John P Bloch

Düz cevap: YOK

Eklentiler PHP code ile yapabileceklerinizi yapabilir.

1
User