Czym są wtyczki wymuszane?

Zacznijmy od tego czym tak naprawdę są wtyczki wymuszane w WordPressie (Must Use Plugins lub mu-plugins). Przede wszystkim nie są one instalowane jak zwykłe wtyczki WordPressowe w katalogu wp-content/plugins. Wtyczki wymuszane mają swoje oddzielne miejsce i znajdują się w specjalnym katalogu wp-content/mu-plugins. Podobnie jak zwykłe wtyczki opierają się na pliku PHP i mogą mieć swój opis, wersję oraz autora. Zasadniczą różnicą jest jednak to, że nie muszą (i nie mogą) być one aktywowane. Nie można ich również dezaktywować. Wtyczki są aktywne i działają tak długo, jak długo znajdują się w katalogu mu-plugins. Dzięki temu są świetnym sposobem na dodanie stałych funkcjonalności do WordPressa.

Krótka historia

Wtyczki wymuszane w WordPressie nie są żadną nowością. Ich funkcjonalność została dodana w 2009 roku. Co ciekawe, początkowo były one mocno powiązane z powstawaniem WordPressWordPress to najczęściej wybierany CMS na świecie. W oparciu o niego powstała niemal połowa istniejących stron internetowych. WordPress jest doceniany przez użytkowników ze względu na prostotę, intuicyjność i łatwość zarządzania. Ze względu na charakter open source, WordPress może być rozwijany i udoskonalany na potrzeby konkretnych, indywidualnych projektów. Jak zacząć korzystać z WordPressa? Aby rozpocząć przygodę z WordPressem, najpierw potrzebujesz hostingu dla WordPress. Hosting zapewnia miejsce na serwerze, gdzie będą przechowywane wszystkie pliki...Czym jest WordPress? Multi-User, które obecnie znane jest jako WordPress Multisite. Chodziło o stworzenie łatwego sposobu, aby aktywować wtyczki na wszystkich instancjach WordPressa.

Stąd też wzięła się potoczna nazwa wtyczek, które często nazywane są po prostu mu-plugins. Przez wszystkie zmiany w WordPressie nazwa mu plugins, wcześniej powiązana z Multi-User stała się przestarzała i niezrozumiała. Z tego względu zdecydowano zmienić nieco interpretację skrótu na Must use, co można wdzięcznie przetłumaczyć na wtyczki wymuszane.

Zalety wtyczek wymuszanych

Mam wrażenie, że wtyczki wymuszane nie są tak znane wśród społeczności WordPressa, jak powinny. Mają wiele zalet, które powodują, że powinny być chociaż rozpatrzone jako bezpieczna alternatywa dla pliku functions.php motywu potomnego.

Przede wszystkim wtyczki wymuszane są bardzo bezpiecznym sposobem dodawania własnego kodu. Wprowadzony kod jest w pełni niezależny od zainstalowanych i aktywnych na stronie motywów czy wtyczek. Dzięki temu możesz mieć pewność, że kod wtyczek wymuszanych zostanie zawsze wykonany.

To także świetny sposób, aby ukryć część ustawień przed innymi użytkownikami WordPressa. Tworząc stronę dla klienta, można w ten sposób utrudnić dostęp do modyfikacji, do których klient nie powinien mieć dostępu.

Wtyczki wymuszane są wczytywane przed zwykłymi wtyczkami, w kolejności alfabetycznej. Powoduje to, że mogą być one także skutecznym sposobem na zmianę funkcjonowania innych wtyczek.

Wady wtyczek wymuszanych

Ze względu na swoje funkcjonowanie, wtyczki wymuszane posiadają jedną zasadniczą wadę – nie można ich aktualizować z poziomu admina WordPressowego. Aby zaktualizować taką wtyczkę, trzeba zrobić to ręcznie, podmieniając pliki w FTPFTP (File Transfer Protocol) to protokół komunikacyjny używany do transferu plików między komputerami w sieci internetowej. Jest to jedno z najstarszych i najbardziej powszechnie stosowanych narzędzi do udostępniania i pobierania plików na serwery internetowe. FTP jest idealnym rozwiązaniem, jeśli potrzebujesz prostego i efektywnego sposobu przesyłania plików między komputerami. Jest szczególnie przydatny w kontekście zarządzania plikami na serwerach hostingowych, takich jak hosting www czy hosting dla WordPress. Możesz również używać FTP do zarządzania plikami...Czym jest FTP?. Wada ta jednak jest zupełnie nieistotna, jeśli we wtyczkach wymuszanych dodajesz swój własny kod lub zamieszczone tam wtyczki mają jeden określony cel jak np. dodanie kodu śledzenia Google Tag Mangera.

Z pewnością, dla wielu niej doświadczonych użytkowników WordPressa, wtyczki wymuszane mogą wydawać się skomplikowane i wymagające dodatkowej pracy. Przy prostych stronach, wtyczki wymuszane rzeczywiście mogą być niepotrzebne i nieco przerostem formy nad treścią.

Jak stworzyć wtyczkę wymuszaną w WordPressie?

Konieczny jest dostęp do plików WordPressa. Najlepiej skorzystać w tym celu z klienta FTP. Po połączeniu utwórz folder mu-plugins w katalogu wp-content. W nowym folderze utwórz nowy plik z rozszerzeniem .php. Możesz nazwać go dowolnie – warto, aby był samo opisujący, ale tworzeniem dokładniejszego opisu wtyczki zajmiemy się później. Może to być np. custom_code.php. Po stworzeniu pliku edytuj jego treść i dodaj swój kod PHP. Pamiętaj, aby zacząć od <?php, ale nie dodawaj zamykającego tagu ?>. Twój kod powinien wyglądać tak jak poniżej:

<?php
//Twój własny kod

Po sprawdzeniu kodu, zapisz plik. Ze względu na swoją funkcjonalność, wtyczka powinna od razu być aktywna. Możesz to sprawdzić na liście wtyczek w Panelu Administratora. Po dodaniu wtyczki wymuszanej, na liście wszystkich wtyczek, pojawi się nowa kategoria Wymuszane. To właśnie tam znajdują się wszystkie dodane wtyczki wymuszane w WordPressie.

wtyczka wymuszana w WordPressie

Jak możesz zauważyć, takiej wtyczce brakuje typowych elementów zwykłej wtyczki jak choćby nazwa i opis. Możesz łatwo dodać te informacje wprowadzając odpowiedni komentarz na początku pliku z wtyczką. W moim przypadku po dodaniu takiego komentarza:

/*
Plugin Name: Mój własny kod
Description: Funkcje rozszerzające możliwości mojej strony na WordPressie
Version: 1.0
Author: Bartosz Gajewski
*/

wtyczka wymuszana z dodatkowym opisem

Wtyczka wygląd już dużo lepiej. Warto dodać szczególnie konkretny opis, który pozwala szybko określić funkcjonalność wtyczki, bez konieczności dokładnego sprawdzania kodu.

Zwykła wtyczka jako wtyczka wymuszana

Teraz już wiesz jak stworzyć nową wtyczkę wymuszaną od zera. Ale co w przypadku kiedy masz już wtyczkę i chcesz korzystać z niej jak z wtyczki wymuszanej? Ze względu na funkcjonowanie WordPressa, przesłanie całego folderu z wtyczką do folderu wp-content/mu-plugins nie zadziała. W folderze mu-plugins, WordPress wczytuje tylko pliku PHP znajdujące się bezpośrednio w tym folderze. Nie będzie sprawdzał całych folderów z wtyczkami, jak ma to miejsce w przypadku zwykłych wtyczek. Na szczęście można to obejść w bardzo prosty sposób, wykorzystując dodatkowy plik PHP, czyli tzw. Proxy PHP loader.

Wystarczy dodać plik do prawidłowego wczytywania wtyczek. Jego kod powinien wyglądać tak:

<?php // mu-plugins/load.php
require WPMU_PLUGIN_DIR.'/twoja-wtyczka/twoja-wtyczka.php';

Oczywiście, w kodzie umieść nazwę folderu i głównego pliku PHPPHP - (Hypertext Preprocessor) to jeden z najpopularniejszych języków skryptowych, używany przede wszystkim po stronie serwera do tworzenia dynamicznych stron internetowych. Powstał w 1995 roku, a jego twórcą jest Rasmus Lerdorf. PHP cechuje się prostą składnią, dużą elastycznością oraz ogromną społecznością, która stale rozwija ten język. Dzięki temu PHP jest świetnym wyborem zarówno dla początkujących programistów, jak i zaawansowanych deweloperów tworzących rozbudowane aplikacje webowe. Jednym z głównych zastosowań PHP jest...Czym jest PHP? Twojej wtyczki. Jeśli dodajesz w ten sposób kilka wtyczek, możesz dodać kolejne polecenia w tym samym pliku ładującym:

<?php // mu-plugins/load.php
require WPMU_PLUGIN_DIR.'/twoja-wtyczka/twoja-wtyczka.php';
require WPMU_PLUGIN_DIR.'/twoja-druga-wtyczka/twoja-druga-wtyczka.php';

Po dodaniu takiego pliku, wtyczki powinny już działać bez problemu i być traktowane jako wtyczki wymuszane. Pamiętaj, że w takim przypadku na liście wtyczek wymuszanych zobaczysz jedynie plik do wczytywania, a nie poszczególne wtyczki.

Alternatywa dla pliku functions.php

Tak jak pisałem w artykule o tym jak dodać własny kod do WordPressa, wtyczki wymuszane świetnie sprawdzą się w przypadku dodawania własnego kodu do WordPressa ze względu na bezpieczeństwo i niezależność od motywów i innych wtyczek. Z tego względu, są według mnie wartą rozpatrzenia alternatywą dla dodawania kodu w pliku functions.php i zasługują na zdecydowanie większą popularności wśród użytkowników WordPressa. Mam nadzieję, że ten artykuł chociaż trochę w tym pomoże.

B Gajewski
>
Bartosz Gajewski
Od trzech lat blisko związany z WordPressem, a w szczególności z WooCommerce. Mocno wierzy w moc sprawczą słowa pisanego. Prywatnie miłośnik gór i kina europejskiego.

3 odpowiedzi do "Wtyczki wymuszane w WordPressie"

  1. Krzysztof pisze:

    Jak zawsze – artykuł wart uwagi. Must Use Plugins to fajny mechanizm, im więcej osób wie o jego istnieniu tym lepiej.

  2. Wojciech pisze:

    Jest to doskonały sposób na dodanie własnego kodu, który ma działać również w momencie zmiany motywu. Własne taksonomie, formaty wpisów (custom post type) dodane tradycyjnie do functions.php przestają wtedy działać.

  3. Adrian pisze:

    Zdecydowanie się zgadzam, mu plugins to dobra funkcjonalność, w odróżnieniu od wprowadzania własnych zmian w functions.php, które padają przy większych aktualizacjach, zmianach itp. Jak ktoś ma ograniczone zasoby programistyczne i nie lubi wyrzucać pieniędzy, to mu-plugins są dobrym wyborem!

Dodaj komentarz

Twój adres e-mail nie będzie opublikowany.

Polecane dla Ciebie

Szukasz dalej?

Przeglądaj wg dat
  • Przeglądaj wg dat
  • kwiecień 2025
  • marzec 2025
  • luty 2025
  • styczeń 2025
  • grudzień 2024
  • listopad 2024
  • październik 2024
  • wrzesień 2024
  • sierpień 2024
  • lipiec 2024
  • czerwiec 2024
  • maj 2024
  • kwiecień 2024
  • marzec 2024
  • luty 2024
  • styczeń 2024
  • grudzień 2023
  • listopad 2023
  • październik 2023
  • wrzesień 2023
  • sierpień 2023
  • lipiec 2023
  • czerwiec 2023
  • maj 2023
  • kwiecień 2023
  • marzec 2023
  • luty 2023
  • styczeń 2023
  • grudzień 2022
  • listopad 2022
  • październik 2022
  • wrzesień 2022
  • sierpień 2022
  • lipiec 2022
  • czerwiec 2022
  • maj 2022
  • kwiecień 2022
  • marzec 2022
  • luty 2022
  • styczeń 2022
  • grudzień 2021
  • listopad 2021
  • październik 2021
  • wrzesień 2021
  • sierpień 2021
  • lipiec 2021
  • czerwiec 2021
  • maj 2021
  • kwiecień 2021
  • marzec 2021
  • luty 2021
  • styczeń 2021
  • grudzień 2020
  • listopad 2020
  • październik 2020
  • wrzesień 2020
  • sierpień 2020
  • lipiec 2020
  • czerwiec 2020
  • maj 2020
  • kwiecień 2020
  • marzec 2020
  • luty 2020
  • styczeń 2020
  • grudzień 2019
  • listopad 2019
  • październik 2019
  • wrzesień 2019
  • sierpień 2019
  • lipiec 2019
  • czerwiec 2019
  • maj 2019
  • kwiecień 2019
  • marzec 2019
  • styczeń 2019
  • grudzień 2018
  • listopad 2018
  • październik 2018
  • sierpień 2018
  • lipiec 2018
  • maj 2018
  • kwiecień 2018
  • marzec 2018
  • styczeń 2018
  • grudzień 2017
  • październik 2017
  • czerwiec 2017
  • kwiecień 2017
  • marzec 2017
  • luty 2017
  • styczeń 2017
  • grudzień 2016
  • listopad 2016
  • październik 2016
  • wrzesień 2016
  • sierpień 2016
  • lipiec 2016
  • czerwiec 2016
  • maj 2016
  • kwiecień 2016
  • marzec 2016
  • lipiec 2015
  • maj 2015
  • grudzień 2014
  • sierpień 2014
  • lipiec 2014
  • czerwiec 2014
  • kwiecień 2014