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

Muplugins Dropins Wordpress Cover

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

[elementor-element k="db47d93de8cdcb51dcf9573fc222d92b" data="eyJpZCI6ImVmYjQ5ZGMiLCJlbFR5cGUiOiJ3aWRnZXQiLCJzZXR0aW5ncyI6eyJibG9nX25hbWUiOiIiLCJibG9nX2Rlc2NyaXB0aW9uIjoiIiwiX2VsZW1lbnRfd2lkdGgiOiJhdXRvIiwidGl0bGUiOiJhc2QiLCJfZWxlbWVudF92ZXJ0aWNhbF9hbGlnbiI6ImNlbnRlciIsIndpZHRoIjp7InVuaXQiOiJweCIsInNpemUiOjI5OSwic2l6ZXMiOltdfSwiaGVpZ2h0Ijp7InVuaXQiOiJweCIsInNpemUiOjcxLCJzaXplcyI6W119LCJhbGlnbiI6ImNlbnRlciIsIm9iamVjdF9maXQiOiJjb250YWluIiwid2lkdGhfbW9iaWxlIjp7InVuaXQiOiJweCIsInNpemUiOjE2MCwic2l6ZXMiOltdfSwiaGVpZ2h0X21vYmlsZSI6eyJ1bml0IjoicHgiLCJzaXplIjozNSwic2l6ZXMiOltdfSwiYWxpZ25fbW9iaWxlIjoibGVmdCIsInJleV9pbmxpbmVfaG9yaXpvbnRhbF9hbGlnbl9tb2JpbGUiOiJsZWZ0IiwiY3VzdG9tIjoieWVzIiwibG9nbyI6eyJ1cmwiOiJodHRwczpcL1wvamF3b3Jvd2kuY3pcL3dwLWNvbnRlbnRcL3VwbG9hZHNcLzIwMTdcLzEwXC9sb2dvLTI5OS10cmFuc3BhcmVudC0yMi0xLnBuZyIsImlkIjo4MDk0LCJzaXplIjoiIiwiYWx0IjoiSmFrdWIgSmF3b3Jvd2ljeiBcdTIwMTMgUHJvZ3JhbWlzdGEgV29yZFByZXNzIGkgTWFya2V0aW5nIGludGVybmV0b3d5Iiwic291cmNlIjoibGlicmFyeSJ9fSwiZWxlbWVudHMiOltdLCJ3aWRnZXRUeXBlIjoicmV5Y29yZS1oZWFkZXItbG9nbyJ9"][elementor-element k="db47d93de8cdcb51dcf9573fc222d92b" data="eyJpZCI6ImE3NmE1YjkiLCJlbFR5cGUiOiJ3aWRnZXQiLCJzZXR0aW5ncyI6eyJfbWFyZ2luIjp7InVuaXQiOiJweCIsInRvcCI6IjAiLCJyaWdodCI6IjAiLCJib3R0b20iOiIwIiwibGVmdCI6IjQwIiwiaXNMaW5rZWQiOmZhbHNlfSwiX2VsZW1lbnRfd2lkdGgiOiJhdXRvIiwiX2VsZW1lbnRfdmVydGljYWxfYWxpZ24iOiJjZW50ZXIiLCJyZXlfaW5saW5lX2hvcml6b250YWxfYWxpZ24iOiJsZWZ0IiwiYnJlYWtwb2ludCI6IiIsInR5cG9ncmFwaHlfZm9udF9mYW1pbHkiOiJFeG8gMiIsInR5cG9ncmFwaHlfZm9udF93ZWlnaHQiOiIzMDAiLCJyZXlfaW5saW5lX2hvcml6b250YWxfYWxpZ25fdGFibGV0IjoibGVmdCIsInJleV9pbmxpbmVfaG9yaXpvbnRhbF9hbGlnbl9tb2JpbGUiOiJyaWdodCIsImN1c3RvbSI6InllcyIsInNvY2lhbF9pY29uX2xpc3QiOltdLCJzb2NpYWxfdGV4dCI6IkZPTExPVyBVUyIsInN0eWxlIjoidWxyIC0tdGhpbm5lciIsIm1vYmlsZV9wYW5lbF9kaXNhYmxlX2Zvb3RlciI6InllcyIsIm1vYmlsZV9wYW5lbF9kaXNhYmxlX21lZ2FfZ3MiOiItLWRpc2FibGUtbWVnYS1ncyIsInR5cG9ncmFwaHlfdHlwb2dyYXBoeSI6ImN1c3RvbSIsInR5cG9ncmFwaHlfZm9udF9zaXplIjp7InVuaXQiOiJweCIsInNpemUiOjE4LCJzaXplcyI6W119LCJ0eXBvZ3JhcGh5X2xpbmVfaGVpZ2h0Ijp7InVuaXQiOiJweCIsInNpemUiOjI1LjIsInNpemVzIjpbXX0sInR5cG9ncmFwaHlfd29yZF9zcGFjaW5nIjp7InVuaXQiOiJlbSIsInNpemUiOiIiLCJzaXplcyI6W119LCJ0eXBvZ3JhcGh5X3N1Yl90eXBvZ3JhcGh5IjoiY3VzdG9tIiwidHlwb2dyYXBoeV9zdWJfZm9udF9zaXplIjp7InVuaXQiOiJweCIsInNpemUiOjE4LCJzaXplcyI6W119LCJ0eXBvZ3JhcGh5X3N1Yl9mb250X3dlaWdodCI6IjMwMCIsInR5cG9ncmFwaHlfc3ViX2xpbmVfaGVpZ2h0Ijp7InVuaXQiOiJweCIsInNpemUiOjI1LjIsInNpemVzIjpbXX0sIm5hdl9pbmRpY2F0b3IiOiJhcnJvdzIiLCJfX2dsb2JhbHNfXyI6eyJ0eXBvZ3JhcGh5X3R5cG9ncmFwaHkiOiIiLCJiZ19jb2xvcl9zdWJtZW51cyI6Imdsb2JhbHNcL2NvbG9ycz9pZD0zZGE3YWUyIn0sIl9tYXJnaW5fbW9iaWxlIjp7InVuaXQiOiJweCIsInRvcCI6IjAiLCJyaWdodCI6IjAiLCJib3R0b20iOiIwIiwibGVmdCI6IjIwIiwiaXNMaW5rZWQiOmZhbHNlfX0sImVsZW1lbnRzIjpbXSwid2lkZ2V0VHlwZSI6InJleWNvcmUtaGVhZGVyLW5hdmlnYXRpb24ifQ=="]