Automatinis „WordPress“ administratoriaus prisijungimas prie PHP

Šios dienos įrašas bus tik trumpas, kuriame aš jums parodysiu, kaip įdiegti tvarkingą mažą funkciją savo „WordPress“ svetainėje. Jei tai bus saugiai naudojama, tai gali būti labai patogu. Tai yra skirta naudoti „WordPress“ svetainėse, kuriose vartotojams siūloma prisijungti. Pvz., Daugelyje „WordPress“ versijų demonstracinių versijų autorius sukurs demonstracinę sąskaitą, kad potencialūs klientai galėtų prisijungti ir žaisti su savo produktu. Dažniau autorius paprasčiausiai parodys pranešimą, sakydamas;


VARTOTOJO VARDAS: demonstracija
SLAPTAŽODIS: demonstracija

Tai šiek tiek pėsčiųjų. Ar tikrai galime demonstraciją paversti šiek tiek racionalesne ir profesionalia? Pateiksiu greitą fragmentą, kad galėtumėte automatiškai prisijungti prie „WordPress“ administratoriaus naudodamas šiuos kredencialus. Tai gali būti įmesta į temos funkcijų failą arba įdėta į savo papildinio failą ir suaktyvinta.

Tai galėtų būti naudinga, jei;

  • Jūsų svetainė turi bendrąją anoniminių vartotojų prisijungimo paskyrą.
  • Norite prisijungimo nuorodos „vienu paspaudimu“.
  • Norite maksimaliai padidinti produkto demonstracinę versiją, pateikdami greitą ir efektyvų kelią į demonstracinę versiją, sumažindami reikiamus veiksmus.
  • Norite nukreipti lankytojus tiesiai į atitinkamą vietą (pvz., Nustatymų puslapį).

SVARBU: Niekada nenaudokite to prisijungdami prie realios galios paskyrų; pvz. Administratoriaus / redaktoriaus sąskaitos ir kt.
Šį fragmentą naudokite atsargiai.

Gerai, kad, kaip tai padariau kitose mokymo priemonėse, pirmiausia pateiksiu išsamų, su komentarais pažymėtą kodą, kad tie iš jūsų, kurie nemėgstate skaityti, galėtų pradėti eksperimentuoti su juo. Šis fragmentas buvo sukurtas kaip atskiras papildinys (mano asmeninė nuostata).

Harri Bell-Thomas „Github“

/ *
Papildinio pavadinimas: automatinis prisijungimas
Papildinio URI: http://hbt.io/
Versija: 1.0.0
Autorius: Harri Bell-Thomas
Autoriaus URI: http://hbt.io/
* /

funkcija autologin () {
// PARAMETRAS TIKRINTI
if ($ _GET ['autologin'] == 'demonstracinė versija') {

// SĄSKAITOS VARTOTOJO PAVADINIMAS, PRISIJUNGTAS
$ creds ['user_login'] = 'demonstracinė versija';

// NAUDOTAS SĄSKAITOS PASLAPIS
$ creds ['user_password'] = 'demonstracinė versija';

$ creds ['prisiminti'] = tiesa;
$ autologin_user = wp_signon ($ creds, false);

if (! is_wp_error ($ autologin_user))
antraštė ('Vieta: wp-admin'); // VIETA NUSTATYTI
}
}
// PRIDĖKITE KODĄ TIK PRIEŠ, KAD BŪTINOS Siųstos galvos ir virėjai
add_action ('after_setup_theme', 'autologin');

NAUDOJIMAS

Tai labai paprasta naudoti. Paskyros vartotojo vardas ir slaptažodis yra nurodyti papildinio faile (kodas aukščiau), o norint prisijungti, jums tiesiog reikia apsilankyti; http://example.com/wp-login.php?autologin=demo

Jūs turėtumėte nedelsdami būti nukreipti į „wp-admin“, prisijungę prie nurodytos paskyros. Jei kredencialai yra neteisingi, turėtumėte tiesiog pamatyti prisijungimo formą kaip įprasta.

PRITAIKYTI

Šį fragmentą labai lengva pritaikyti. Iš esmės yra tik 3 dalykai, kuriuos turėsite redaguoti, ir visi šie pakeitimai turi būti padaryti šiame kodų bloke (viso kodo 11–17 eilutės).

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

// SĄSKAITOS VARTOTOJO PAVADINIMAS, PRISIJUNGTAS
$ creds ['user_login'] = 'manekenas';

// NAUDOTAS SĄSKAITOS PASLAPIS
$ creds ['user_password'] = 'pa55word';

Pirmoje eilutėje matysite sąlyginį URL parametro patikrinimą. Aukščiau pateiktas kodo blokas tikrins; wp-login.php? login = dummy_account

Šios vertės gali būti kokios tik norite, tačiau atsargiai venkite originalių „WordPress“ parametrų, tokių kaip „atsijungimas“, „veiksmas“ ir „peradresavimas_to“. 4 eilutėje nurodomas vartotojo vardas, prie kurio prisijungiate; tinkintas kodo fragmentas bandys prisijungti prie „manekeno“ paskyros. Kaip jūs tikriausiai galite atspėti, 7 eilutėje nurodote slaptažodį. Aukščiau pateiktas slaptažodis yra „pa55word“. Užpildykite šias vertybes ir jums turėtų būti gera eiti!

Pratęsimai

Šiuo metu mūsų fragmentas yra nustatytas tik automatiškai prisijungti prie vienos paskyros. Ką daryti, jei norime skirtingų prisijungimo nuorodų skirtingoms paskyroms? Tai padaryti gana greitai ir nesudėtinga, todėl nereikia pakartoti viso fragmento vėl ir vėl. Žemiau pažiūrėkite į mano sprendimą.

/ *
Papildinio pavadinimas: automatinis prisijungimas
Papildinio URI: http://hbt.io/
Aprašymas: sukurkite patogias automatinio prisijungimo nuorodas, kad galėtumėte greitai prisijungti prie bendrųjų paskyrų. Konfigūruokite šaltinio kodą, kad galėtumėte atlikti pakeitimus.
Versija: 1.0.0
Autorius: Harri Bell-Thomas
Autoriaus URI: http://hbt.io/
* /

// Paskelbkite globalius var
visuotinis $ login_parameter, $ sąskaitos;

// PARAMETRAS, KURIE TURI TIKTI
// pvz. http://exmaple.com/wp-login.php?param_name=account
$ login_parameter = "autologin";

// SĄSKAITOS KODO BLOKAS
USD sąskaitos [] = masyvas (
"vartotojas" => "demonstracinė versija",
"perduoti" => "demonstracinę versiją",
"vieta" => „wp-admin“,
);
// PASKUTINĖS SĄSKAITOS KODO BLOKAS

// DAUG SĄSKAITŲ, KAD REIKALINGOS, KODEKSO BLOKAS TURITE IR PAKARTOTI

// Kitas iteracijos pavyzdys
USD sąskaitos [] = masyvas (
"vartotojas" => "tcwp",
"perduoti" => "demonstracinę versiją",
"vieta" => "wp-admin /? tcwp-sent-me",
);


// ŽIŪRĖKITE ANKSTESNĮ DUOMENŲ APIE ŠĮ FUNKCIJĄ PAVYZDĮ
funkcija autologin () {
visuotinis $ login_parameter, $ sąskaitos;
foreach ($ sąskaitos kaip $ sąskaita) {
if ($ _GET [$ login_parameter] == $ account ['user']) {
$ creds ['user_login'] = $ sąskaita ['user'];
$ creds ['user_password'] = $ sąskaita ['pass'];
$ creds ['prisiminti'] = tiesa;
$ autologin_user = wp_signon ($ creds, false);
if (! is_wp_error ($ autologin_user))
antraštė ('Vieta:'. $ sąskaita ['vieta']);
}
}
}
add_action ('after_setup_theme', 'autologin');

Iš esmės tai iš esmės yra tas pats, tačiau įmesta ir įžūli foreach kilpa bei sąskaitų masyvas. Autologino () funkcijos anatomija yra tapati, išskyrus tai, kad jos kodas yra kartojamas (naudojant priekinės linijos kilpą) kiekvienai paskyrai. Dabar visa susijusi informacija saugoma bendrame rinkinyje. Aukščiau pateiktas pavyzdys yra nustatytas 2 paskyroms, tačiau mūsų fragmentas gali tilpti tiek, kiek mums reikia. Norėdami pridėti papildomų paskyrų, tiesiog tinkinkite ir pridėkite tiek kodų, kiek jums reikia.

// SĄSKAITOS KODO BLOKAS
USD sąskaitos [] = masyvas (
"user" => "anotheraccount",
"pass" => "public_password",
"vieta" => „http://YouCanPutURLsHereToo.com/“,
);
// PASKUTINĖS SĄSKAITOS KODO BLOKAS

Taip pat pastebėsite, kad parametro pavadinimą taip pat perkėliau į visuotinį kintamąjį: tai nėra būtina, bet aš tai padariau tiesiog norėdamas pašalinti visas kietai užkoduotas reikšmes iš autologin () funkcijos.

IŠVADA

Šis fragmentas yra tik paprasta funkcija, skirta lengvai naudoti, pvz., Produkto demonstracinėje svetainėje, tačiau ji gali būti naudojama kur kas sudėtingesniems prisijungimo scenarijams. Likusi kodo dalis turėtų būti gana savaime suprantama, tačiau jei turite klausimų apie tai, ką aš padariau, arba kodėl aš tai padariau, tiesiog palikite komentarą apačioje arba perskaitykite man žinutes. Jei turite kokių nors atsiliepimų / pasiūlymų / idėjų, palikite komentarą žemiau esančiame komentarų skyriuje!

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map