✅ Nowości, motywy, wtyczki WEB i WordPress. Tutaj dzielimy się wskazówkami i najlepszymi rozwiązaniami dla stron internetowych.

Jak sprawdzić, czy wtyczka WordPress jest aktywna w sieci lub pojedynczej witrynie?

7

Podczas tworzenia motywu lub wtyczki czasami musimy sprawdzić, czy dana wtyczka innej firmy jest dostępna do użycia. Tutaj nauczysz się prostego sposobu wykrywania nie tylko, czy wtyczka jest aktywna w jednej witrynie, ale także czy jest włączona w całej sieci.

Przegląd

WordPress przechowuje listę aktywnych wtyczek w różnych opcjach w bazie danych, niezależnie od tego, czy są to wtyczki włączone w całej sieci, czy wtyczki włączone w jednej witrynie sieci:

  • active_sitewide_plugins: zawiera wtyczki wtyczki obsługujące całą sieć
  • active_plugins: zawiera wtyczki włączone w bieżącej witrynie sieci.

Definicja funkcji

Dzięki temu możemy zakodować coś takiego, aby sprawdzić, czy dana wtyczka jest włączona w sieci lub pojedynczej witrynie:

if (! function_exists( 'elio_is_plugin_active')) { function elio_is_plugin_active( $plugin = '') { $network_active = false; if (is_multisite()) { $plugins = get_site_option( 'active_sitewide_plugins' ); if (isset( $plugins[$plugin])) $network_active = true; } return in_array( $plugin, get_option( 'active_plugins')) || $network_active; } }

Jako przykład sprawdzimy, czy wtyczka Jetpack jest aktywna. Możesz teraz użyć funkcji, którą napisaliśmy w ten sposób, przekazując jako parametr katalog główny wtyczki, jetpack, oraz główny plik wtyczki, jetpack.php:

Zobaczmy inny przykład z wtyczką WooCommerce:

Dzięki tej prostej metodzie będziesz bezpieczny podczas dodawania funkcji, które mają działać z konkretną wtyczką, ponieważ zawsze będziesz mógł sprawdzić, czy wtyczka jest włączona.

Źródło nagrywania: startfunction.com

Ta strona korzysta z plików cookie, aby poprawić Twoje wrażenia. Zakładamy, że nie masz nic przeciwko, ale możesz zrezygnować, jeśli chcesz. Akceptuję Więcej szczegółów