Dzisiejszy post będzie tylko krótkim, w którym pokażę, jak zainstalować zgrabną małą funkcję na swojej stronie WordPress. To, jeśli jest bezpiecznie używane, może być bardzo wygodne. Jest to przeznaczone do użytku w witrynach WordPress, które oferują ogólne konto dla użytkowników, do których można się zalogować. Na przykład na wielu wewnętrznych wersjach demonstracyjnych WordPress autor utworzy konto „demo”, aby potencjalni klienci mogli się zalogować i grać z jego produktem. Częściej niż nie, autor po prostu wyświetla informację mówiącą;


NAZWA UŻYTKOWNIKA: próbny
HASŁO: próbny

To trochę pieszy. Z pewnością możemy sprawić, by demo wyglądało nieco bardziej usprawniająco i profesjonalnie? Dam ci krótki fragment, aby automatycznie zalogować się do administratora WordPress przy użyciu tych poświadczeń. Można to upuścić w pliku funkcji motywu lub umieścić we własnym pliku wtyczki i aktywować.

Może to być przydatne, jeśli;

  • Twoja strona ma ogólne konto do logowania się anonimowych użytkowników.
  • Potrzebujesz linku logowania „jednym kliknięciem”.
  • Chcesz zmaksymalizować konwersję wersji demo produktu, zapewniając szybką i wydajną ścieżkę do wersji demo, minimalizując wymagane kroki.
  • Chcesz przekierować odwiedzających bezpośrednio do odpowiedniej lokalizacji (np. Strona Ustawienia).

WAŻNY: Nigdy nie używaj tego do logowania się na konta z prawdziwą mocą; na przykład. Konta administratora / redaktora itp.
Ostrożnie używaj tego fragmentu kodu.

Ok, tak jak to zrobiłem w innych samouczkach, dam ci najpierw pełny kod z adnotacjami, aby ci z was, którzy nie są fanami czytania, mogli od razu zacząć z nim eksperymentować. Poniższy fragment kodu został zaprojektowany w formie samodzielnej wtyczki (moje osobiste preferencje).

Harri Bell-Thomas na Github

/ *
Nazwa wtyczki: automatyczne logowanie
Identyfikator URI wtyczki: http://hbt.io/
Wersja: 1.0.0
Autor: Harri Bell-Thomas
Autor URI: http://hbt.io/
* /

funkcja autologin () {
// PARAMETR DO SPRAWDZENIA
if ($ _GET ['autologin]] ==' demo ') {

// NAZWA KONTA NAZWA UŻYTKOWNIKA DO LOGOWANIA
$ creds ['user_login'] = 'demo';

// HASŁO KONTA DO UŻYCIA
$ creds ['user_password'] = 'demo';

$ creds ['Remember'] = true;
$ autologin_user = wp_signon ($ creds, false);

if (! is_wp_error ($ autologin_user))
nagłówek („Lokalizacja: wp-admin”); // LOKALIZACJA, DO KTÓREJ MOŻNA ZREDYTOWAĆ
}
}
// DODAJ KOD TYLKO PRZED WYSŁANIEM NAGŁÓWEK I PLIKÓW COOKIE
działanie dodatkowe („after_setup_theme”, „autologin”);

STOSOWANIE

Jest to bardzo prosty w użyciu. Nazwa użytkownika i hasło do konta są określone w pliku wtyczki (powyższy kod), a aby się zalogować, wystarczy odwiedzić; http://example.com/wp-login.php?autologin=demo

Powinieneś natychmiast zostać przekierowany do wp-admin, zalogowany na podane konto. Jeśli dane logowania są nieprawidłowe, powinieneś zobaczyć formularz logowania w normalny sposób.

DOSTOSUJ

Ten fragment kodu można bardzo łatwo dostosować. Zasadniczo są tylko 3 rzeczy, które trzeba będzie edytować, a wszystkie te zmiany należy wprowadzić w następującym bloku kodu (wiersze 11–17 całego kodu)

if ($ _GET ['login'] == 'dummy_account') {

// NAZWA KONTA NAZWA UŻYTKOWNIKA DO LOGOWANIA
$ creds ['user_login'] = 'dummy';

// HASŁO KONTA DO UŻYCIA
$ creds ['user_password'] = 'pa55word';

W pierwszym wierszu zobaczysz warunkowe sprawdzenie parametru adresu URL. Powyższy blok kodu będzie sprawdzał; wp-login.php? login = dummy_account

Wartości te mogą być dowolne, ale należy unikać oryginalnych parametrów WordPress, takich jak „wylogowanie”, „akcja” i „przekierowanie” do. Wiersz 4 to miejsce, w którym podajesz nazwę użytkownika do zalogowania; dostosowany fragment kodu spróbuje zalogować się na konto „obojętne”. Jak zapewne można się domyślić, w wierszu 7 określa się hasło. Powyższe hasło to „pa55word”. Wypełnij te wartości i powinieneś już iść!

ROZSZERZENIA

W tej chwili nasz fragment jest skonfigurowany tylko do automatycznego logowania na jednym koncie. Co jeśli chcemy różnych linków logowania dla różnych kont? Jest to dość szybkie i łatwe do wykonania i nie wymaga ciągłego powtarzania całego fragmentu. Spójrz poniżej na moje rozwiązanie.

/ *
Nazwa wtyczki: automatyczne logowanie
Identyfikator URI wtyczki: http://hbt.io/
Opis: Utwórz wygodne linki automatycznego logowania, aby szybko zalogować się do ogólnych kont. Skonfiguruj kod źródłowy, aby wprowadzić zmiany.
Wersja: 1.0.0
Autor: Harri Bell-Thomas
Autor URI: http://hbt.io/
* /

// Deklaruj globalny var
globalny parametr_loginu $, konta $;

// PARAMETR DO SPRAWDZENIA
// np. http://exmaple.com/wp-login.php?param_name=account
$ login_parameter = "autologin";

// BLOK KODU KONTA
$ account [] = array (
„user” => „demo”,
„pass” => „demo”,
„lokalizacja” => „wp-admin”,
);
// BLOK KODU KONTA KONTA

// EDYCJA I POWTARZANIE BLOKU KODU DLA WIELU RACHUNKÓW, POTRZEBNYCH

// Kolejna iteracja przykładowa
$ account [] = array (
„user” => „tcwp”,
„pass” => „demo”,
"lokalizacja" => "wp-admin /? tcwp-sent-me",
);


// ZOBACZ POPRZEDNI PRZYKŁAD SZCZEGÓŁÓW DOTYCZĄCYCH TEJ FUNKCJI
funkcja autologin () {
globalny parametr_loginu $, konta $;
foreach (konta $ jako konto $) {
if ($ _GET [$ login_parameter] == $ konto ['użytkownik']) {
$ creds ['user_login'] = $ konto ['użytkownik'];
$ creds ['user_password'] = $ account ['pass'];
$ creds ['Remember'] = true;
$ autologin_user = wp_signon ($ creds, false);
if (! is_wp_error ($ autologin_user))
nagłówek („Lokalizacja:”. $ konto [„lokalizacja”]);
}
}
}
działanie dodatkowe („after_setup_theme”, „autologin”);

Zasadniczo jest to zasadniczo to samo, ale z wrzuconą bezczelną pętlą foreach i tablicą kont. Anatomia funkcji autologin () jest identyczna, z wyjątkiem tego, że jej kod jest powtarzany (przy użyciu pętli foreach) dla każdego konta. Wszystkie istotne szczegóły są teraz przechowywane w tablicy globalnej. Powyższy przykład jest skonfigurowany dla 2 kont, ale nasz fragment może pomieścić tyle, ile potrzebujemy. Aby dodać dodatkowe konta, po prostu dostosuj i dodaj tyle następujących bloków kodu, ile potrzebujesz.

// BLOK KODU KONTA
$ account [] = array (
„user” => „anotheraccount”,
„pass” => „public_password”,
„lokalizacja” => „http://YouCanPutURLsHereToo.com/”,
);
// BLOK KODU KONTA KONTA

Zauważysz również, że przeniosłem nazwę parametru również na zmienną globalną: nie jest to konieczne, ale zrobiłem to po prostu, aby usunąć wszystkie wartości zakodowane na stałe z funkcji autologin ().

WNIOSEK

Ten fragment kodu jest tylko prostą funkcją zaprojektowaną z myślą o lekkim użytkowaniu, na przykład na stronie demonstracyjnej produktu, ale może być wykorzystywany w znacznie bardziej złożonych scenariuszach logowania. Reszta kodu powinna być dość zrozumiała, ale jeśli masz jakieś pytania dotyczące tego, co zrobiłem lub dlaczego to zrobiłem, zostaw komentarz poniżej lub opublikuj tweeta. Jeśli masz jakieś uwagi / sugestie / pomysły, zostaw komentarz w sekcji komentarzy poniżej!

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me