Istnieje w WordPressie coś takiego jak specjalna kategoria wtyczek są to tzw. wtyczki wymuszane. Mówiąc w skrócie, jest to jeszcze jeden sposób na rozszerzanie możliwości WordPressa. A moim zdaniem jest to bardzo ciekawy sposób, jednocześnie prosty w użyciu, idealnie nadający się dla osób, które na swojej stronie poza możliwością dodawania wpisów potrzebują niestandardowych rozwiązań.

Pluginy wymuszone są odpowiedzią na zachowanie wszelkich snippetów pomiędzy zmianami motywów, które zwykle dodaje się do pliku functions.php w celu dodania lub rozszerzenia funkcjonalności witryny. Jest to „must-use” dla osób które lubią czasem zmienić motyw swojej strony, ale boją się, że wszelkie dodane usprawnienia zostaną utracone.

WordPress wtyczki wymuszane

Wtyczki wymuszane (Must Use Plugins, lub po prostu mu-plugins), to wtyczki zainstalowane w specjalny sposób. Wystarczy wybraną wtyczkę zapisać w katalogu wp-content/mu-plugins, aby już stała się wtyczką wymuszoną. Tak zainstalowanych wtyczek nie trzeba (nie można) aktywować. Nie można ich również wyłączyć. Wtyczki są aktywne i działają dopóki znajdują się w katalogu mu-plugins.

Nie ma możliwości, aby taką wtyczkę przypadkiem, albo nawet specjalnie, z poziomu kokpitu wyłączyć. 🙂

 

Minusy i ograniczenia

Niewątpliwym minusem jest to, że wszystkie aktualizacje będziemy musieli wykonywać ręcznie, sami. Niestety nie zostaniemy poinformowani przez WordPress o pojawieniu się nowej wersji tak zainstalowanego pluginu.

Problemem mogą być też pluginy korzystające z activation hooks. Niestety jest to już poważne ograniczenie, gdyż większość pluginów wykorzystuje wspomniane hooksy do uruchomienia kodu instalacyjnego i konfiguracyjnego pluginu, a po wyłączeniu do „wyczyszczenia swoich danych”. Oczywiście istnieją sposoby na ominięcie tego problemu, jednakże nie polecam na siłę instalować w ten sposób nie swoich dodatków.

Kiedy stosować wtyczki wymuszane

Wtyczki wymuszone, jak pisałem we wstępie, to idealny sposób na dodawanie dodatkowych funkcjonalności związanych ze stroną, rzeczy, które powinny działać zawsze, nawet przy zmianie motywu, np.:

  • własne taksonomie, formaty wpisów (custom post type) oraz powiązane z nimi własne pola,
  • większość shortcodów związanych z formatowaniem tekstu,
  • funkcje, filtry, akcje dodające jakieś funkcjonalności, lub zmieniające ich zachowanie.

Generalnie wszystko to, co przy zmianie motywu zwykle musielibyśmy ręcznie przenosić ze starego pliku functions.php do nowego. Kawałki kodu, które są dość ważne dla funkcjonowania strony, ale były zbyt małe, aby stać się pełnoprawnym pluginem.

 

Pluginy wymuszane zamiast functions.php

Ponieważ bardzo lubię pomagać moim czytelnikom, przytoczę teraz kilka praktycznych przykładów wykorzystania tej techniki.

Wbrew wszelkim przekonaniom, przeniesienie swoich snippetów z functions.php do katalogu mu-plugins wcale nie jest takie trudne:

  1. W katalogu wp-content tworzymy nowy katalog mu-plugins.
  2. W nowo utworzonym katalogu tworzymy nowy plik np. customs.php.
  3. Otwieramy plik do edycji i dodajemy nasz kod:
    <?php 
    
    // Mój ulubiony shortcode
    function caption_shortcode( $atts, $content = null ) {
      return '<span class="caption">' . $content . '</span>';
    }
    add_shortcode( 'caption', 'caption_shortcode' );
    // Przykład shortcode zaczerpnięty z kodeksu WordPress
    
  4. Plik zapisujemy i już możemy cieszyć się dobrodziejstwami nowego shortcode i mu-pluginu. 🙂

WordPress pluginy wymuszoneW katalogu mu-plugins możemy utworzyć plik i operować na nim podobnie jak na starym functions.php  – bez dodawania dodatkowych nagłówków wymaganych w przypadku pluginów. W jednym pliku upakujemy wiele, albo nawet wszystkie nasze ulubione snippety.

W kokpicie WordPress pluginy wymuszone bez ustawionych dodatkowych nagłówków wyglądają w ten sposób:


Ale można też dodać na początku komentarz typowo – pluginowy z informacjami o nazwie, danymi autora, wersji itp.:

<?php
 /*
 Plugin Name: Customowe funkcje
 Description: Funkcje rozszerzające możliwości mojej strony
 Version: 1.0
 Author: ziemekpr0@gmail.com
 */

aby otrzymać coś takiego: pluginy-wymuszane-2(Patrz screeny). Jest to zupełnie opcjonalny zabieg, jednak warto nawet dla siebie dodać kilka informacji do czego służy owy plugin/plik.

Wpis otagowano:

Komentarze do wpisu 2 komentarze

Pomogłem? Dodaj coś od siebie! Skomentuj ten wpis:

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *