WordPress MU-Plugins: czym są + przydatne wtyczki, których należy używać dla programistów WP Web

Opublikowany: 2022-02-24

Czy potrzebujesz funkcji, które aktywują się automatycznie i pozostają włączone w Twojej witrynie? Następnie rozważ dodanie ich do WordPressa jako mu-plugin … nawet stwórz własną!

W tym samouczku omówimy:

  • Co to są wtyczki MU?
  • Krótka historia wtyczek MU
  • Funkcje wtyczki MU
    • Jak zmienić domyślny katalog wtyczek, których należy używać?
  • Kiedy nie używać wtyczek MU?
  • Jak tworzyć i instalować wtyczki MU w WordPress
  • Samouczki dotyczące wtyczki MU
    • Ukryj element administracyjny WordPress dla wszystkich użytkowników (z wyjątkiem Ciebie)
    • Ukryj górne menu WordPressa i utwórz niestandardowy przycisk wylogowania
    • Dodaj CSS do zaplecza WordPress
    • Usuń wszystkie style z treści WordPress
    • Ukryj elementor w panelu administracyjnym WordPress
    • Uczyń Beehive Analytics swoją stroną główną pulpitu WordPress

Przejdźmy od razu do…

Czym są wtyczki WordPress MU?

Co to są wtyczki MU?
Czy wtyczki mu mogą sprawić, że witryny WordPress będą latać?

Jak opisano w dokumentacji WordPress.org…

Wtyczki, których należy używać (aka mu-plugins) to wtyczki instalowane w specjalnym katalogu w folderze zawartości i automatycznie włączane we wszystkich witrynach podczas instalacji.

Tak więc wtyczka obowiązkowa („mu-plugin”) jest taka sama jak każda inna wtyczka WordPress, z wyjątkiem tego, że po przesłaniu do katalogu mu-plugins w folderze wp-content (tj /wp-content/mu-plugins są automatycznie aktywowane i pozostają włączone w Twojej instalacji WordPress.

Krótka historia wtyczek MU

Na początku (około wersji 3.0) WordPress wprowadził funkcję o nazwie Multisite (pierwotnie nazywaną WordPress MU), aby umożliwić wielu witrynom udostępnianie i zarządzanie przez jedną instalację WordPress, WordPress Multisite (lub WPMU, jak się później nazywa) wprowadził również Katalog 'mu-plugins', oferujący administratorom witryn łatwy sposób domyślnej aktywacji wtyczek na wszystkich blogach w sieci wielostanowiskowej.

Chociaż wtyczki MU pierwotnie odnosiły się do „wtyczek dla wielu użytkowników”, zostały przemianowane na wtyczki „obowiązkowe”. Zainstalowane w katalogu „mu-plugins” instalacji WPMU, mu-plugins mogą być teraz używane wszędzie tam, gdzie chcesz, aby jedna lub więcej wtyczek automatycznie aktywowała się i pozostawała włączona, niezależnie od tego, czy jest to jedna, czy wiele instalacji WordPress.

Funkcje wtyczki MU

Niezbędna wtyczka ('mu-plugin') to wtyczka, która domyślnie jest automatycznie aktywowana i pozostaje włączona po przesłaniu do katalogu mu-plugins folderu wp-content (tj /wp-content/mu-plugins Po przesłaniu do tego katalogu, WordPress automatycznie będzie wiedział, że ta wtyczka musi być użyta podczas instalacji.

Niezbędne wtyczki są ładowane przed normalnymi wtyczkami i nie są wyświetlane na domyślnej liście wtyczek na stronie Wtyczki wp-admin. Pojawiają się jednak w specjalnej sekcji Koniecznej do użycia w menu listy na ekranie wtyczki.

Ekran wtyczek - MU-Plugins
Ekran Wtyczki z wtyczkami Must-Use załadowanymi na stronie.

Uwagi:

  • Wtyczki mu nie można dezaktywować ani wyłączyć, chyba że przez usunięcie pliku wtyczki z katalogu obowiązkowego instalacji WordPressa.
  • Dopóki wtyczka pozostanie w katalogu, WordPress zawsze ją wykona. Tak więc po dodaniu wtyczki mu do katalogu mu-plugins pozostaje ona „zawsze włączona”, dopóki nie zostanie usunięta z tego folderu.
  • Wtyczki Must-Use nie aktualizują się automatycznie, a WordPress nie powiadamia o nowych wersjach. Oznacza to, że wtyczki mu muszą być ręcznie aktualizowane (chyba że są instalowane i obsługiwane przez zewnętrzną usługę).
  • Wtyczki Must-Use można włączyć, po prostu przesyłając plik do katalogu mu-plugins, bez konieczności logowania.
  • Wtyczki MU są ładowane przez PHP, w kolejności alfabetycznej, przed normalnymi wtyczkami. Oznacza to, że zaczepy API dodane we wtyczce mu będą miały zastosowanie do wszystkich innych wtyczek, nawet jeśli uruchamiają funkcje zaczepienia w globalnej przestrzeni nazw.
  • Należy również pamiętać, że mu-plugins będą działać zarówno w instalacjach WordPress na jednej, jak i na wielu witrynach, ale będą miały zastosowanie do każdej witryny w sieci wielostanowiskowej.

Jak zmienić domyślny katalog wtyczek, których należy używać?

Aby ręcznie zmienić domyślny katalog, musisz zdefiniować dwie stałe ( WPMU_PLUGIN_DIR i WPMU_PLUGIN_URL ) w wp-config.php :

define('WPMU_PLUGIN_DIR', '/full/path/to/new/directory');
define('WPMU_PLUGIN_URL', 'https://URL/to/new/directory');

Uwagi:

  • Jeśli zdefiniujesz powyższe stałe, a ścieżka jest nieprawidłowa, WordPress nie przedefiniuje stałych, a wtyczki mu nie zostaną załadowane. Tak więc, jeśli nie masz powodu, aby zmienić domyślny katalog mu-plugins, zalecamy trzymanie się domyślnych wartości WPMU_PLUGIN_DIR i WPMU_PLUGIN_URL .
  • W przypadku zmiany katalogu domyślnego te dwie stałe muszą być zdefiniowane w pliku wp-config.php przed wierszem, w którym znajduje się plik wp-settings.php , więc nie będzie można użyć użytecznych stałych (np. WP_CONTENT_DIR ).

Kiedy NIE należy używać wtyczek MU?

Niezbędne wtyczki umożliwiają dodawanie funkcji do rdzenia WordPress, które nie są instalowane domyślnie, ale których użytkownicy mogą potrzebować.

Jednak, jak stwierdzono w dokumentacji WordPressa…

Pomimo swojej przydatności w wielu szczególnych przypadkach, system mu-plugins nie zawsze jest idealny i ma kilka wad, które czynią go nieodpowiednim w pewnych okolicznościach.

Dokumentacja następnie wymienia kilka ważnych zastrzeżeń, o których należy pamiętać:

  • Wtyczki w katalogu must-use nie pojawią się w powiadomieniach o aktualizacjach ani nie pokażą ich statusu aktualizacji na stronie wtyczek, więc jesteś odpowiedzialny za samodzielne poznawanie i przeprowadzanie aktualizacji.
  • Hooki aktywacyjne nie są wykonywane we wtyczkach dodanych do folderu must-use plugins. Te haki są używane przez wiele wtyczek do uruchamiania kodu instalacyjnego, który początkowo konfiguruje wtyczkę i/lub kodu odinstalowującego, który jest czyszczony po usunięciu wtyczki. Wtyczki zależne od tych zaczepów mogą nie działać w folderze mu-plugins, dlatego wszystkie wtyczki powinny być dokładnie przetestowane w katalogu mu-plugins przed wdrożeniem w działającej witrynie.

Uwaga: WordPress szuka plików PHP tylko w katalogu mu-plugins i (w przeciwieństwie do zwykłych wtyczek) nie plików w podkatalogach. Możesz utworzyć plik ładowania proxy PHP w katalogu mu-plugins:

 <?php // mu-plugins/load.php
wymagają WPMU_PLUGIN_DIR.'/my-plugin/my-plugin.php';

Zachowaj prostotę dzięki wtyczkom Mu

Mu-plugins powinny być używane tylko do wykonania „jednej” prostej akcji. Ciągłe wywoływanie złożonego kodu może prowadzić do konfliktu z innym kodem lub wtyczkami i angażowania wtyczek mu jako podejrzanych źródeł, podczas gdy rozwiązywanie konfliktów może naprawdę skomplikować sprawę.

Wtyczki MU nie mogą być przechowywane w podkatalogach

Dodatkowo pamiętaj, że w przeciwieństwie do zwykłych wtyczek, nie możesz przechowywać wtyczki mu w podkatalogu katalogu mu-plugins. Oznacza to, że nie będziesz mógł domyślnie sortować swoich wtyczek mu przy użyciu folderów.

Możesz obejść ten problem, tworząc wtyczkę mu, aby WordPress automatycznie uwzględniał wtyczki mu przechowywane w podkatalogach, ale ponieważ nie są one domyślnie znajdowane przez WordPress, nie pojawią się na liście wtyczek, których należy użyć, więc wygrałeś nie można zobaczyć, która wtyczka, której należy użyć, jest zainstalowana w podkatalogach bez zaglądania do samego katalogu mu-plugins.

Jak tworzyć i instalować wtyczki MU w WordPress

Dodanie niezbędnej wtyczki do witryny wymaga trzech kroków:

  1. Utwórz katalog mu-plugins (folder) w katalogu wp-content
  2. Utwórz plik php mu-plugin
  3. Prześlij/zainstaluj plik na swojej stronie przez FTP

Stworzyliśmy doskonały samouczek krok po kroku, który pokazuje, jak zainstalować wtyczki MU w WordPressie w naszej sekcji dokumentacji.

Postępuj zgodnie z powyższym samouczkiem, aby przejść przez cały proces, lub kliknij poniższy link, aby przejść do jednego z powyższych kroków:

  • Utwórz katalog mu-plugin
  • Utwórz wtyczkę mu
  • Prześlij/zainstaluj plik wtyczki mu

Dodaj te przydatne, niezbędne wtyczki do swojego zestawu narzędzi WordPress

Ostrzeżenie: zdecydowanie zalecamy wykonanie pełnej kopii zapasowej witryny przed zmianą elementów lub dodaniem kodu do plików serwera na wypadek, gdyby coś poszło nie tak. Migawka sprawia, że ​​tworzenie kopii zapasowych i przywracanie witryn WordPress jest dziecinnie proste!

Jeśli jesteś programistą WordPress lub zarządzasz witrynami dla swojego zespołu lub klientów, oto kilka przydatnych wtyczek mu, które możesz stworzyć, aby rozszerzyć swój zestaw sztuczek:

1. Ukryj pasek administratora WordPress dla wszystkich użytkowników (z wyjątkiem Ciebie)

Jeśli zarządzasz witrynami dla swojego zespołu lub klientów lub jesteś głównym programistą swojej firmy, możesz chcieć wprowadzić dostosowania WordPress, które tylko Ty możesz zobaczyć, lub ukryć przyciski dla wszystkich użytkowników oprócz Ciebie, aby mieć pewność, że ludzie nie klikają gdzie nie powinni.

Chociaż możesz dostosować narzędzia administracyjne za pomocą wtyczki takiej jak Branda, możesz to również łatwo zrobić za pomocą kodu.

W tym przykładzie załóżmy, że jesteś jedynym superadministratorem witryny i chcesz ukryć pasek narzędzi dla każdego użytkownika z wyjątkiem siebie.

Po prostu utwórz mu-plugin i dodaj następujący kod i stylizuj go za pomocą CSS:

 <?php
add_action( 'admin_footer', 'hideitems' );
funkcja ukrywanie elementów() {
   if ( ! is_super_admin() ) {
      echo "<styl>
         #wpadminbar {
            wyświetlanie: brak !ważne;
         }
      </style> ";
   }
}

2. Ukryj górne menu WordPressa i utwórz niestandardowy przycisk wylogowania

Oto kolejna modyfikacja administratora WordPress, którą możesz zrobić dla swoich klientów.

Załóżmy, że chcesz ukryć lub usunąć górny pasek w obszarach administracyjnych swoich witryn klientów, ponieważ uważasz, że wyświetlanie go tam jest niewygodne lub uważasz, że umożliwienie klientom, którzy nie wiedzą zbyt wiele o WordPressie, dostępu do menu modyfikacji treści, może do nich doprowadzić popełnianie nieumyślnych błędów.

Na przykład, jeśli tworzysz witryny za pomocą Elementora, Twoi klienci mogą uzyskać dostęp do opcji dostosowywania motywu Elementora bezpośrednio z górnego paska menu.

Dodaj nowy szablon Elementora na pasku narzędzi WordPress.
Użytkownicy mogą dodać nowy szablon Elementora na swoim pasku narzędzi WordPress.

Pozostając przy Elementorze w tym przykładzie, możesz zdecydować się ukryć to, aby uniknąć problemów i pozostawić ścieżkę dostosowywania motywu w obszarze administracyjnym w Szablony> Konstruktor motywów. Możesz też zdecydować się na jej całkowite usunięcie, ponieważ nawet jeśli wyłączysz opcje na pasku administracyjnym, niektórzy użytkownicy mogą nadal nie rozumieć, co to jest i dlaczego wyświetla się w interfejsie ich witryn.

Ukrycie górnego paska jest bardzo łatwe przy użyciu wtyczki takiej jak Branda… po prostu przejdź do obszaru administracyjnego> pasek administracyjny, a następnie odznacz widoczność paska narzędzi dla niektórych użytkowników.

Problem polega na tym, że jeśli całkowicie wyłączysz ten pasek, użytkownicy nie będą mogli wylogować się ze swojego administratora. Stwarza to nie tylko problem z bezpieczeństwem, ale także nie jest wygodne, jeśli chcesz zmienić użytkowników.

Na szczęście istnieje rozwiązanie: po prostu dodaj ten kod jako wtyczkę mu, aby utworzyć przycisk wylogowania:

 <?php
add_action(
   'menu_admin',
   funkcja () {
      add_menu_page(
         'Wyloguj',
         'Wyloguj',
         'czytać',
         'wp_custom_logout_menu',
         '__return_false',
         "znacznik myślników",
         1 // Tutaj użyj 1, aby umieścić menu na górze lub PHP_MAX_INT, aby umieścić je na dole,
      );
   }
);

add_action(
   'admin_init',
   funkcja () {
      if ( isset( $_GET['strona']) && $_GET['strona'] == 'wp_custom_logout_menu') {
         wp_redirect (wp_logout_url() );
         Wyjście();
      }
   }
);

Spowoduje to przekierowanie użytkownika do strony logowania po procesie wylogowania.

3. Dodaj CSS do zaplecza WordPress

Jak dodać CSS do backendu WordPressa?

Po raz kolejny możesz użyć wtyczki takiej jak Branda, ale możesz również utworzyć wtyczkę mu i wkleić następujący kod do swojego pliku:

 <?php
add_action( 'admin_footer', 'my_admin_css' );
funkcja mój_admin_css() {
   echo '<styl>
      /*Umieść tutaj swój kod CSS*/
   </style>';
}

To wszystko… łatwe i bardzo przydatne!

4. Usuń wszystkie style z treści WordPress

Załóżmy, że natkniesz się na witrynę, w której cały styl treści jest ustawiany przez HTML w treści WordPress.

Jest to trochę kłopotliwe, ponieważ nikt tak naprawdę nie chce modyfikować stylu każdej strony, kiedy można to łatwo zrobić za pomocą CSS.

Oto obejście tego.

Utwórz wtyczkę mu i dodaj następujący kod:

 dodaj_filtr(
   'Treść',
   funkcja ( $zawartość ) {
      // Usuń wszystkie style wbudowane.
      return preg_replace( '/ style=("|\')(.*?)("|\')/', '', $content );
   }
);

Wypróbuj to!

5. Ukryj elementor w panelu administracyjnym WordPress

Elementor jest jednym z popularnych i szeroko stosowanych kreatorów stron dla WordPress. Jeśli jesteś programistą internetowym lub webmasterem, możesz używać Elementora do tworzenia i zarządzania witryną internetową i jej zawartością.

Choć Elementor jest prosty, nadal wymaga pewnej wiedzy, aby z niego korzystać, a nieumyślny błąd użytkownika może uniemożliwić nawigację po witrynie.

Jeśli więc jesteś jedyną osobą zarządzającą witryną, a użytkownicy nie muszą często tworzyć stron w WordPressie, możesz ukryć opcje Elementora przed innymi użytkownikami zaplecza. Upewnienie się, że nie nastąpią żadne modyfikacje zaplecza bez Twojej wiedzy, zapewni Ci spokój ducha, a Twoi klienci lub użytkownicy zaplecza mogą również docenić prostszy interfejs do pracy.

Ta wskazówka działa dobrze na następujących rodzajach witryn:

  • witryny e-commerce
  • Strony internetowe z niestandardowymi typami postów
  • Strony internetowe wykorzystywane głównie jako blog do publikowania artykułów.

Jak wspomniano wcześniej, jeśli użytkownicy końcowi muszą regularnie tworzyć strony WordPress, może to nie zadziałać, ponieważ będą potrzebować do tego Elementora.

Przed utworzeniem wtyczki mu najpierw musisz ukryć Elementora w menu. Następnie możesz ukryć przycisk Elementor na stronach WordPress.

1. Ukryj Elementora w menu

Zainstaluj Brandę, a następnie:

  • Przejdź do obszaru administracyjnego > pasek administracyjny i ukryj go dla użytkowników końcowych. W ten sposób nie będą mogli stamtąd uzyskać dostępu do kreatora Elementor.
  • Przejdź do Pulpit > Menu administratora > Dostosuj, a następnie ukryj menu administratora Elementora dla wszystkich oprócz Ciebie (wskazówka: użyj do tego ról użytkownika, ponieważ jest to łatwiejsze niż robienie tego dla każdego użytkownika).
  • Pamiętaj, aby ukryć również menu „Szablony” (jest to prawdopodobnie najważniejsza rzecz do ukrycia).

Uwaga: zalecamy, aby tylko jedna osoba miała dostęp do szablonów, zwłaszcza jeśli używa ich do tworzenia motywu i używa CSS do kontrolowania każdego elementu projektu witryny. Uniemożliwia to innym użytkownikom dodawanie CSS w innym miejscu (np. w kreatorach, dostosowywaniu motywów, arkuszach stylów itp.)… i bez odpowiedniego komentowania podczas dodawania kodu, np.

 /* Dostosowanie nagłówka */
.nagłówek{
   margines górny: 10px;
}
/* END Dostosowywanie nagłówka */

2. Ukryj przycisk Elementora na stronach WordPress

Najłatwiejszym sposobem utworzenia lub zmodyfikowania strony za pomocą Elementora jest po prostu przejście do Strony> Utwórz i kliknięcie przycisku Elementor, aby go zmienić.

Istnieje również sposób na ukrycie tego przycisku, jeśli nie chcesz, aby użytkownicy w ogóle mieli dostęp do Elementora.

Aby to zrobić, musisz dostosować role użytkowników. Jeśli jesteś jedynym administratorem witryny, możesz ukryć przyciski dla wszystkich oprócz Ciebie.

Uwaga: Możesz użyć poprzedniego kroku, aby ukryć tylko szablony Elementora (aby zachować bezpieczeństwo motywu), ale nadal pozostawić dostęp w Elementorze do tworzenia i modyfikowania stron. Może to jednak być ryzykowne, ponieważ gdy użytkownicy znajdują się na stronie Elementora, mogą przejść do innych elementów, takich jak nagłówek lub stopka, lub uzyskać dostęp do globalnych ustawień Elementora, które będą miały wpływ na witrynę.

Po wykonaniu powyższych czynności pozostaje tylko utworzyć mu-plugin i wkleić następujący kod, aby ukryć przycisk :

 <?php
add_action( 'admin_footer', 'hideitems' );

funkcja ukrywanie elementów() {
   if ( ! is_super_admin() ) {
      ?>
        <styl>
            #elementor-switch-mode {
                Nie wyświetla się;
            }
        </style>
      <?php
   }
}

Cieszyć się!

6. Uczyń Beehive Analytics swoją stroną główną pulpitu WordPress

Jeśli nie jesteś wielkim fanem strony administratora WordPress (nawet jeśli możesz dostosować jej widżety i ukrywać panele) lub gdy użytkownicy widzą ten ekran za każdym razem, gdy logują się do swojego pulpitu WordPress…

Ekran pulpitu WordPress
Patrz, ale nie patrz… czy to chcesz, aby użytkownicy widzieli, kiedy się logują?

Dlaczego nie pokazać im pięknej strony docelowej administratora z takimi przydatnymi informacjami?

Ekran Beehive Pro Analytics
Oooh…aaah…wykresy i statystyki…o wiele lepiej!

Ponownie możesz użyć Brandy, aby dostosować panel administratora i lewe menu lub ukryć/pokazać menu w zależności od roli użytkownika. Jest to świetne, jeśli jesteś jedynym administratorem i chcesz wyświetlać minimalne wymagane menu dla użytkowników końcowych lub dodać niestandardowy CSS.

Jeśli jednak chcesz tylko przekierować użytkowników ze strony administratora WordPress na bardziej przydatną stronę, taką jak strona analityczna Beehive, po prostu utwórz wtyczkę mu i dodaj ten kod:

 <?php
funkcja wpmudev_redirect_page() {
   globalna $pagenow;
   if ( $pagenow == 'index.php' && ! wp_doing_ajax() && is_plugin_active( 'google-analytics-async/google-analytics-async.php' ) ) {

      wp_redirect( admin_url( '/admin.php?page=beehive-google-analytics' ) );
      Wyjście;
   }
}

add_action( 'admin_init', 'wpmudev_redirect_page' );

Cieszyć się!

Spraw, by WordPress latał z wtyczkami MU

Mamy nadzieję, że teraz wiesz już wszystko o wtyczkach Must-Use: czym są, kiedy i kiedy ich nie używać oraz jak i gdzie je zainstalować na stronach WordPress.

Sprawdź naszą dokumentację mu-plugins, spróbuj stworzyć i zainstalować własne niezbędne wtyczki, a jeśli napotkasz jakiekolwiek problemy lub potrzebujesz pomocy eksperta, skontaktuj się z naszym zespołem pomocy technicznej… jesteśmy dostępni 24 godziny na dobę, 7 dni w tygodniu, aby odpowiedzieć na wszelkie pytania dotyczące WordPressa mieć!

Współtwórcy

Ten artykuł powstał we współpracy z:

Kadzidło

Antoine – Kadzidło. Pasjonuje mnie kultura internetowa i rozwiązania cyfrowe. Zajmuję się tym obszarem od 11 lat. Zawsze szukam najlepszych rozwiązań, które pomogą moim klientom przezwyciężyć cyfrowe wyzwania i rozwijać ich biznes online. Moja wizja cyfrowego sukcesu: opracuj globalną strategię, zastosuj ją ze szczegółową precyzją i stale ulepszaj.

***

Uwaga: nie przyjmujemy artykułów ze źródeł zewnętrznych. Członkowie WPMU DEV mogą jednak wnosić pomysły i sugestie dotyczące samouczków i artykułów na naszym blogu za pośrednictwem Blog XChange.

Jakich wtyczek mu używasz? Czy wypróbowałeś którąś z niestandardowych wtyczek pokazanych powyżej? Podziel się swoimi przemyśleniami i komentarzami poniżej.