Jak sprawdzić, czy wtyczka jest aktywna w WordPress [ 3 SPOSOBY ]
Opublikowany: 2020-08-08Jako programista WordPress jednym z najczęstszych sposobów sprawdzania kodu podczas tworzenia wtyczki jest stan aktywacji wtyczki. Istnieje kilka powodów, dla których powinieneś sprawdzać, czy wtyczka jest aktywna. Aby wymienić kilka, możesz sprawdzić, czy wtyczka zależna jest aktywna lub podobna wtyczka, która robi to samo.
W obu przypadkach będziesz musiał dodać znacznik wyboru do pliku bazowego wtyczki, aby sprawdzić, czy docelowa wtyczka jest aktywna. Klasyczny przykład, jeśli tworzysz wtyczkę WooCommerce, która rozszerza klasy WooCommerce.
Na przykład, gdy tworzysz wtyczkę bramki płatności WooCommerce, musisz sprawdzić, czy WooCommerce jest aktywne natychmiast po aktywacji wtyczki, a najlepiej podczas podpięcia aktywacji wtyczki.
Sprawdź, czy wtyczka WordPress jest aktywna
Na szczęście rdzeń WordPressa ma gotową do użycia metodę lub funkcję, która sprawdza, czy dana wtyczka jest aktywna i zwraca prawdę lub fałsz.
Ta funkcja zwraca wartość boolean - true or false
i możesz ją łatwo włączyć do swojego kodu, zwłaszcza podczas podpięcia aktywacji.
Jeśli sprawdzana wtyczka nie jest aktywna, możesz wyświetlić nagłówek powiadomienia, aby użytkownik mógł zainstalować wtyczkę.
Możesz również zastosować tę samą funkcję, gdy chcesz, aby użytkownik dezaktywował inną wtyczkę, która może kolidować z funkcjonalnością Twojej wtyczki.
Funkcja is_plugin_active() Szybki przegląd
Przyjrzyjmy się szybko funkcji is_plugin_active()
, aby dowiedzieć się więcej o tym, jak efektywnie z niej korzystać w swoim projekcie.
is_plugin_active( string $plugin )
Ta funkcja przyjmuje parametr ciągu, który jest reprezentacją ścieżki do ścieżki względnej wtyczki w katalogu wtyczek.
funkcja is_plugin_active( $plugin ) { return in_array( $plugin, (array) get_option( 'active_plugins', array() ) ) || is_plugin_active_for_network( $wtyczka ); }
woocommerce/woocommerce.php
, jak pokazano na
obrazek poniżej:
Funkcji is_plugin_active()
można użyć do sprawdzenia, czy wtyczka jest aktywna w backendzie za pomocą następującego fragmentu kodu
<?php /** * Wykryj wtyczkę. Do użytku tylko w obszarze administracyjnym. */ if ( is_plugin_active( 'katalog-wtyczek/plik-wtyczki.php' ) ) { //wtyczka jest aktywna }
Na przykład, jeśli chcesz sprawdzić, czy WooCommerce jest aktywny, możesz to sprawdzić za pomocą następującego kodu:
<?php /** * Sprawdź, czy wtyczka WooCommerce jest aktywna w obszarze administracyjnym */ if ( is_plugin_active( 'woocommerce/woocommerce.php' ) ) { //Wtyczka WooCommerce jest aktywna }
Bazowy plik wtyczki i katalog podstawowy
Jak widać, użyłem nazwy podstawowej wtyczki WooCommerce i folderu, jak wspomniałem na ilustracji na powyższym obrazku.
Podstawowa nazwa wtyczki to nazwa pliku dla pojedynczego pliku wtyczki, który jest plikiem głównym i czasami pasuje do katalogu / folderu, ale nie we wszystkich przypadkach – niektóre wtyczki są inne.
Sprawdź, czy wtyczka jest aktywna w trybie Multisite
W przypadku WordPress multisite istnieje funkcja, która ma pomóc programistom sprawdzić, czy wtyczka jest aktywna w sieci wielostanowiskowej. Funkcja to:
is_plugin_active_for_network( string $plugin )
Ta funkcja działa podobnie jak funkcja is_plugin_active( string $plugin ) i może być zastosowana w ten sam sposób, aby określić, czy wtyczka jest aktywna w sieci wielostanowiskowej WordPress.
<?php funkcja is_plugin_active_for_network( $plugin ) { if ( ! is_multisite() ) { zwróć fałsz; } $plugins = get_site_option( 'active_sitewide_plugins' ); if ( isset( $plugins[ $plugin ] ) ) { zwróć prawdę; } zwróć fałsz; }
Inne sposoby sprawdzenia, czy wtyczka jest aktywna
Istnieją inne sposoby sprawdzenia, czy wtyczka jest aktywna. Możesz to sprawdzić za pomocą natywnych funkcji php class_exists lub function_exists. Metody te sprawdzają, czy odpowiednio istnieje klasa wtyczki lub funkcji.
Używanie function_exists() do sprawdzania, czy wtyczka jest aktywna
Jeśli znasz funkcję lub metodę wtyczki, możesz to sprawdzić za pomocą metody function_exists
, jak w poniższym fragmencie:
<?php if( funkcja_istnieje( 'funkcja_wtyczki' ) ) { // Wtyczka jest aktywna }
Używanie class_exists() do sprawdzania, czy wtyczka jest aktywna
Jeśli znasz główną klasę wtyczki, możesz to sprawdzić za pomocą metody class_exists
, jak w poniższym fragmencie:
<?php if( class_exists( 'plugin_class' ) ) { // Wtyczka jest aktywna }
Możesz podłączyć jedną z tych metod, aby sprawdzić, czy wtyczka jest aktywna w zaczepie plugins_loaded
, jak w poniższym fragmencie kodu:
<?php /* * Sprawdź, czy wtyczka jest aktywna */ funkcja njengah_is_plugin_name_active() { if( class_exists( 'Plugin_Class' ) ) { // Jest aktywny, więc logika tutaj } } add_action( 'plugins_loaded', 'njengah_is_plugin_name_active' );
Wniosek
W tym poście wyróżniliśmy różne sposoby sprawdzania, czy wtyczka jest aktywna, gdy tworzysz inną wtyczkę lub motyw. Są to przydatne metody, które możesz zastosować we wszystkich zadaniach programistycznych WordPress.
Podobne artykuły
- Jak zatrzymać spam w formularzu kontaktowym WordPress 7 bez wtyczki?
- Jak utworzyć stronę logowania w WordPress bez korzystania z wtyczki?
- 26 najlepszych wtyczek WooCommerce dla opinii klientów
- 30 najlepszych wtyczek zabezpieczających WordPress, które chronią Twoją witrynę
- Jak dodać ikonę Usuń do strony kasy WooCommerce
- Jak zmienić link powrotu do sklepu w Woocommerce?
- Jak uzyskać identyfikator zamówienia w Woocommerce?
- 23 najlepsze wtyczki WooCommerce do dostosowywania strony kasy
- Jak ukryć sumę częściową koszyka w WooCommerce lub usunąć wiersz sumy częściowej?
- Jak przekierować do koszyka po zalogowaniu w WooCommerce
- Jak przekierować przy odświeżaniu strony WordPress » Wykryj stronę Odśwież PHP
- Jak wyświetlić nazwę kategorii w WordPress za pomocą praktycznego przykładu?
- Jak usunąć został dodany do koszyka Wiadomość WooCommerce
- Jak utworzyć niestandardową paginację zapytań w WordPressie na przykładzie?
- Jak pominąć koszyk i przekierować do strony kasy WooCommerce
- Jak dodać tekst przed ceną w WooCommerce »Dodaj tekst przed ceną
- Jak się zalogować do informacji o użytkowniku w WordPressie
- Jak przekierować użytkownika, jeśli nie jest zalogowany w WordPressie » Przekierowanie strony
- Jak zmienić powiadomienie „Dodano do koszyka” WooCommerce?
- Jak wyświetlić tekst dostępności zapasów w WooCommerce »W magazynie i poza nim