Must Use Plugins (MU-PLUGINS) i Zamienniki (Drop-ins) w WordPress

Dziś odpowiedź na dwa proste pytania – Jak działają Wtyczki wymuszone (Must Use Plugins) oraz czym są Zamienniki tzw Drop-ins w WordPress.

Czym są wtyczki Must Use Plugins (MU-PLUGINS)?

Wtyczki MU są dostępne jako dodatkowa funkcjonalność od WordPress 2.8 – jednak mało kto o nich wie lub nie wie jak je używać. Wtyczki MU Plugins są uruchamiane zawsze i niezależnie od tego czy są skonfigurowane w kokpicie czy nie – uruchamiane są w pierwszej kolejności za każdym razem, kiedy ładowana jest strona i kokpit. Nie można ich edytować czy wyłączyć poprzez kokpit – są widoczne jako Wtyczki wymuszane.

Must Use plugins, aby działały muszą być ulokowane w odpowiednim folderze – /wp-content/mu-plugins , jednak można zmienić położenie tego folderu z pomocą zmiennej WPMU_PLUGIN_DIRwp-config.php.

define( 'WPMU_PLUGIN_DIR', WP_CONTENT_DIR . '/mu-plugins' ); // Pełna ścieżka, bez końcowego ukośnika

Bez odpowiednio napisanego loadera plik z wtyczką musi być umieszczony bezpośrednio w folderze, a nie w podfolderze jak w przypadku zwykłych wtyczek. Przykład loadera wtyczki wymuszanej z podfolderu znajduje się poniżej i można go nazwać dowolnie np. mu-loader.php

require(WPMU_PLUGIN_DIR . '/wtyczka/plik-wtyczki.php');

Różnica pomiędzy zwykłymi wtyczkami, a wtyczkami wymuszonymi jest taka, że te drugie nie muszą posiadać nagłówków typowych dla normalnych wtyczek – chodź wskazane jest, aby posiadała nazwę i opis, aby w przypadku ich większej ilości wiedzieć za co dana wtyczka odpowiada.

Jeżeli wtyczką wymuszoną modyfikujesz funkcję innej wtyczki lub motywu koniecznie użyj if function exists lub if class_exists, ale poprawne jest też sprawdzenie czy dana wtyczka jest aktywna. [Przykłady na GitHub]

Czym są Zamienniki (Dropins)?

Wg opisu wewnątrz kokpitu – „Zamienniki są zaawansowanymi wtyczkami umieszczanymi w katalogu wp-content, które, jeśli są obecne, zastępują domyślne procedury WordPressa w określonych działaniach.”

Niestety zamienników nie ma zbyt wiele, a ich lista zdefiniowana jest w pliku wp-admin/includes/plugin.php – część dotyczy zwykłych instalacji, a część działa tylko jeżeli korzystamy z sieci witryn. [Zobacz kod]

Aby zamienniki działały muszą znajdować się w katalogu /wp-content/ i być standardowymi plikami PHP.

Lista Zamienników

  • advanced-cache.php – Zaawansowana wtyczka CACHE działająca ze zmienną WP-CACHE
  • db.php – Własna klasa obsługi bazy danych, uruchamiana zawsze, jeżeli istnieje
  • db-error.php – Własny błąd połączenia z bazą danych (więcej tutaj)
  • install.php – Własny skrypt instalacyjny
  • maintenance.php – Własny komunikat przerwy konserwacyjnej
  • object-cache.php – przydatne szczególnie przy dużych stronach, ogranicza zapytania do bazy danych zapisując odpowiedzi z bazy na dysk i pobiera dane z niego, a nie poprzez ponowne połączenia z bazą.
  • sunrise.php – Używana tylko w multisite i ładowana w pierwszej kolejności, wymaga dodania parametru do WP-CONFIG i przydaje się m.in. do mapowania domen w WordPress MS.
  • blog-deleted.php – Własny błąd z informacją o usunięciu bloga z Sieci witryn
  • blog-inactive.php – Własny błąd z informacją o nieaktywnej stronie w sieci witryn
  • blog-suspended.php – Własny błąd z informacją o zawieszeniu bloga lub strony w Sieci witryn WordPress MultiSite
Oceń ten artykuł jako pierwszy
dHosting najlepszy serwer dla wordpress i nie tylko
Powiązane tematy: WordPress

Na stronie mogą znajdować się linki polecające (affiliacyjne), które pozwalają utrzymać bloga. Zakup z mojego polecenia nie generuje dla Ciebie dodatkowych kosztów, a ja otrzymam prowizje od kwoty zapłaconej.

Przyłącz się do dyskusji