Jak stwierdzić, czy wtyczka jest kompatybilna z wieloma witrynami?

9

Jako początkujący administrator WordPress właśnie przeszedłem pierwszą nieautomatyczną aktualizację WordPress.

Uaktualniłem pięć różnych instalacji WordPress z 4.1.3 do 4.2.

Wszystkie odnoszą się do różnych stron internetowych hostowanych na tym samym serwerze jako jedna domena główna i cztery domeny dodatkowe.

Na każdej stronie korzystam z następujących wtyczek:

  • Akismet;
  • Google Analytics firmy Yoast;
  • Google AdSense;
  • Mapy witryn Google XML i
  • Jetpack przez WordPress.com.

Aby usprawnić dalszą administrację, zastanawiam się nad konsolidacją wszystkich pięciu instalacji w jednej instalacji na wielu serwerach.

Jak dotąd trudno mi było znaleźć ostateczne odpowiedzi na temat kompatybilności każdej z tych wtyczek z instalacją na wielu stronach w witrynach wtyczek.

Czy strona wtyczki jest właściwym miejscem do jej wyszukiwania?

Czy jest centralna lokalizacja, w której można znaleźć te informacje?

Alfred Myers
źródło
Czy znalazłeś jakieś porady na temat tego, czy konsolidacja jest dobrym pomysłem? Rozważam to samo, ale mój kolega, który zarządzał wieloma witrynami, mówi, że jest to bardziej kłopotliwe niż warte. Rozważam utrzymanie moich witryn jako pojedynczych instalacji i używanie do administrowania czegoś takiego jak InfiniteWP. Zastanawiałeś się nad tym?
Rikki,
Nie wiedziałem o InfiniteWP, @Rikki. Rzucę na to okiem. Dzięki!
Alfred Myers
Dziwi mnie ta informacja, by sprawdzić kompatybilność wtyczek dla wielu witryn, gdzieś nie jest łatwo dostępna.
Antoine Brunel

Odpowiedzi:

6

Istnieją dwa rodzaje kompatybilności w wielu lokalizacjach:

  1. Kompatybilność pasywna: nic nie robić w wielu lokalizacjach, po prostu działa bez niczego.
  2. Aktywna kompatybilność: zmiana lub rozszerzenie zachowania specyficznego dla wielu lokalizacji.

Wydaje mi się, że jesteś na 1. Zobacz drugą część moich slajdów z WordCamp Prague 2015 .

Wtyczki, które nie mówią nic o wielu witrynach, nie powinny być aktywowane jako wtyczki sieciowe. Na przykład WooCommerce tworzy niestandardowe tabele podczas instalacji. Jeśli aktywujesz go w całej sieci, podwitryny nie dostaną tych tabel, a niebo spadnie na twoją głowę.

Niestety, większość wtyczek nie sprawdza typu aktywacji, więc pozwalają na niewłaściwą aktywację.

powiązane są problemy UX, takie jak wskaźniki administracyjne lub specjalne strony „Informacje”, które należy kliknąć w dowolnej podstronie w niezgodnych wtyczkach. WP SEO firmy Yoast jest jednym z przykładów . To chyba wkrótce zostanie naprawione w tej wtyczce. :)

Inne problemy zależą od tego, co robisz z tą witryną. Jeśli tworzysz wielojęzyczną witrynę internetową, w której każda witryna jest napisana w jednym języku, a witryny są ze sobą połączone, chcesz zsynchronizować posty podczas pisania treści. Oznacza to, że dzwonisz switch_to_blog()na hak save_posti zapisujesz połączone posty. save_postbędą teraz wywoływane wiele razy podczas jednego żądania. Wiele wtyczek nie zdaje sobie sprawy z takiej sytuacji, więc po prostu nadpisują meta informacje o połączonych postach, myśląc, że wciąż są na pierwszym poście.

Zwróć uwagę na wtyczki, które zajmują się post meta i nie mają takiej kontroli:

if ( is_multisite() && ms_is_switched() )
    return FALSE;

Te wtyczki nie są kompatybilne.

Podobne, choć trudniejsze do określenia, są problemy, gdy wtyczki dotykają meta pól użytkownika lub przepisują reguły.

Niektóre wtyczki próbują zapisywać zawartość w plikach bez podawania identyfikatora witryny w nazwie pliku. Prawdopodobnie też są zepsute.

Jak powiedział Tom: Utwórz instalację testową, uruchom każdy przypadek użycia, jaki możesz sobie wyobrazić. Nie możesz zaufać stronie wtyczki i zazwyczaj i tak nie ma wystarczających informacji.

fuxia
źródło
2

O ile wtyczka nie stwierdza, że ​​jest kompatybilna, jedynym niezawodnym sposobem, aby się tego dowiedzieć, jest utworzenie lokalnej instalacji wielostanowiskowej i przetestowanie jej.

Czasami są znaki, których możesz szukać, ale zawsze są to objawy złego kodu, np. Twarde nazwy tabel bazy danych zamiast używania przedrostka $wpdb, w którym to przypadku zaleciłbym wyłączenie wtyczki, nawet jeśli nie używasz wielu witryn

Tom J Nowell
źródło