Fragmenty kodu dla wersji v2
Fragmenty kodu w WordPress służą do wykonywania określonych działań, które w przeciwnym razie wymagałyby osobnej, mniejszej wtyczki. Takie fragmenty kodu umieszcza się w jednym z plików rdzenia WordPressa lub motywu (zazwyczaj w pliku functions.php Twojego motywu) lub można ich używać jako wtyczki MU.
W tym artykule pokażemy trzy fragmenty kodu, których można używać z Ultimate Multisite v2:
-
Jak sprawdzić, czy użytkownik jest w danym planie i/lub ma aktywną subskrypcję
-
Rozwiązywanie problemów CORS z ikonami fontowymi w mapowanych domenach
Zmiana pozycji elementu menu Konto
Aby zmienić pozycję elementu menu Konto w kokpicie Twojego klienta, wystarczy dodać poniższy fragment kodu do pliku functions.php aktywnego motywu Twojej głównej witryny. Możesz też umieścić ten fragment w jednej ze swoich wtyczek mu-plugins lub własnych wtyczek.
add_filter('wu_my_account_menu_position', function() { return 10; // Dostosuj tę wartość, aby umieścić menu w wybranej pozycji.
Jak sprawdzić, czy użytkownik jest w danym planie i/lub ma aktywną subskrypcję
Jako administrator sieci możesz potrzebować tworzyć własne funkcje, które będą wykonywać podstawowe działania lub udostępniać usługę/funkcję wybranej grupie subskrybentów lub użytkowników końcowych, w zależności od statusu ich subskrypcji i planu, który subskrybują.
Te natywne funkcje Ultimate Multisite Ci w tym pomogą.
Aby sprawdzić, czy użytkownik jest członkiem danego planu, możesz użyć funkcji:
wu_has_plan($user_id, $plan_id)
Aby sprawdzić, czy subskrypcja jest aktywna, możesz użyć funkcji:
wu_is_active_subscriber($user_id)
Poniżej znajduje się przykładowy fragment kodu, który sprawdza, czy bieżący użytkownik jest w określonym planie (Plan o ID 50) oraz czy subskrypcja użytkownika jest aktywna.
$user_id = get_current_user_id();$plan_id = 50;if (wu_has_plan($user_id, $plan_id) && wu_is_active_subscriber($user_id)) { // UŻYTKOWNIK JEST CZŁONKIEM PLANU I JEGO SUBSKRYPCJA JEST AKTYWNA, WYKONAJ DZIAŁANIA} else { // UŻYTKOWNIK NIE JEST CZŁONKIEM PLANU -- LUB -- JEGO SUBSKRYPCJA NIE JEST AKTYWNA, WYKONAJ INNE DZIAŁANIA} // end if;
Pamiętaj, że wu_has_plan wymaga "ID Planu", aby działać poprawnie.
Aby uzyskać ID planu, przejdź do Ultimate Multisite > Produkty. ID każdego produktu będzie wyświetlone po prawej stronie tabeli.
Pamiętaj, że użytkownicy mogą subskrybować tylko Plan, nie Pakiet ani Usługę, ponieważ są one jedynie dodatkami do Planu.

Rozwiązywanie problemów CORS z ikonami fontowymi w mapowanych domenach
Rozwiązywanie problemów CORS z ikonami fontowymi w mapowanych domenach
Po mapowaniu domeny do podwitryny możesz zauważyć, że witryna ma problemy z ładowaniem niestandardowych fontów. Jest to spowodowane blokadą cross-origin w ustawieniach Twojego serwera.
Ponieważ pliki fontów są prawie zawsze ładowane bezpośrednio z CSS, nasza wtyczka do mapowania domen nie jest w stanie przepisać adresów URL, aby używały mapowanej domeny zamiast oryginalnej, więc aby rozwiązać ten problem, musisz zmodyfikować pliki konfiguracyjne serwera.
Poniżej znajdują się fragmenty kodu rozwiązujące problem dla Apache i NGINX. Te zmiany wymagają zaawansowanej wiedzy o plikach konfiguracyjnych serwera (pliki .htaccess i pliki konfiguracyjne NGINX). Jeśli nie czujesz się komfortowo, wprowadzając te zmiany samodzielnie, wyślij tę stronę do zespołu wsparcia Twojego dostawcy hostingu, prosząc o pomoc.
Apache
W swoim pliku .htaccess dodaj:
<FilesMatch ".(ttf|ttc|otf|eot|woff|font.css|css)$"> Header set Access-Control-Allow-Origin "*"
NGINX
W pliku konfiguracyjnym serwera (lokalizacja różni się w zależności od serwera) dodaj:
location ~ .(ttf|ttc|otf|eot|woff|font.css|css)$ { add_header Access-Control-Allow-Origin "*";}