Dagens innlegg kommer bare til å bli et kort innlegg der jeg skal vise deg hvordan du installerer en fin liten funksjon på WordPress-nettstedet ditt. Hvis dette brukes trygt, kan det være veldig praktisk. Dette er designet for å brukes på WordPress-nettsteder som tilbyr en generisk konto som brukere kan logge seg på. På mange backend WordPress-demoer vil forfatteren for eksempel opprette en “demo” -konto for potensielle kunder å logge seg inn og spille med produktet sitt. Oftere enn ikke vil forfatteren ganske enkelt vise et varsel som sier;


Brukernavn: demo
PASSORD: demo

Dette er litt fotgjenger. Sikkert kan vi få demoen til å se litt mer strømlinjeformet og profesjonell ut? Jeg vil gi deg et raskt stykke når du automatisk vil logge deg på WordPress-administratoren med disse opplysningene. Dette kan enten slippes inn i funksjonsfilen til temaet ditt, eller det kan settes i sin egen plugin-fil og aktiveres.

Dette kan være nyttig hvis;

  • Nettstedet ditt har en generisk konto for anonyme brukere å logge seg på.
  • Du vil ha en “ett klikk” påloggingslenke.
  • Du vil maksimere produktdemokonvertering ved å tilby en rask og effektiv vei til demoen, og minimere nødvendige trinn.
  • Du vil henvise besøkende direkte til det aktuelle stedet (f.eks. Innstillinger-siden).

VIKTIG: Bruk aldri dette til å logge på kontoer med reell kraft; f.eks. Administrator / Redaktørkontoer osv.
Bruk dette utdraget nøye.

OK, så som jeg har gjort i mine andre opplæringsprogrammer, vil jeg gi deg den komplette, merkede koden først, slik at de av dere som ikke er fans av å lese kan komme i gang med å eksperimentere med den. Følgende utdrag er stilet i form av et frittstående plugin (min personlige preferanse).

Harri Bell-Thomas på Github

/ *
Plugin Name: Auto Login
Plugin URI: http://hbt.io/
Versjon: 1.0.0
Forfatter: Harri Bell-Thomas
Forfatter URI: http://hbt.io/
* /

funksjon autologin () {
// PARAMETER Å Sjekk etter
if ($ _GET ['autologin'] == 'demo') {

// KONTO BRUKERNAVN FOR Å logge på
$ creds ['user_login'] = 'demo';

// KONTO PASSORD FOR Å BRUKE
$ creds ['user_password'] = 'demo';

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

if (! is_wp_error ($ autologin_user))
header ('Sted: wp-admin'); // BELIGGENHET FOR Å VEDREFINERE TIL
}
}
// LEGG TIL KODE BARE FØR HEADERS OG COOKIES SENDES
add_action ('after_setup_theme', 'autologin');

BRUK

Dette er veldig enkelt å bruke. Konto brukernavn og passord er spesifisert i plugin-filen (koden over), og for å logge inn trenger du ganske enkelt å besøke; http://example.com/wp-login.php?autologin=demo

Du bør umiddelbart omdirigeres til wp-admin, logget inn på kontoen du har angitt. Hvis påloggingsinformasjonen er feil, bør du bare se påloggingsskjemaet som normalt.

TILPASS

Dette utdraget er veldig enkelt å tilpasse. Det er egentlig bare tre ting du trenger å redigere, og alle disse endringene skal gjøres i den følgende kodeblokken (linje 11 til 17 i den komplette koden)

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

// KONTO BRUKERNAVN FOR Å logge på
$ creds ['user_login'] = 'dummy';

// KONTO PASSORD FOR Å BRUKE
$ creds ['user_password'] = 'pa55word';

På den første linjen vil du se betinget kontroll for URL-parameteren. Den ovennevnte kodeblokken vil se etter; wp-login.php? login = dummy_account

Disse verdiene kan være hva du vil, men vær forsiktig med å unngå originale WordPress-parametere som ‘logget av’, ‘handling’ og ‘omdirigere_til’. Linje 4 er der du spesifiserer brukernavnet du skal logge inn med; vil det tilpassede kodebiten prøve å logge inn på ‘dummy’-kontoen. Som du sikkert kan gjette, er linje 7 der du spesifiserer passordet. Passordet ovenfor er ‘pa55word’. Fyll ut disse verdiene, og du bør være god til å gå!

EXTENSIONS

For øyeblikket er kodebiten bare satt opp for automatisk pålogging til en konto. Hva om vi ønsker forskjellige påloggingslenker for forskjellige kontoer? Dette er ganske raskt og enkelt å gjøre og krever ikke at du gjentar hele utdraget igjen og igjen. Ta en titt nedenfor på løsningen min.

/ *
Plugin Name: Auto Login
Plugin URI: http://hbt.io/
Beskrivelse: Lag praktiske koblinger for automatisk innlogging for raskt å logge inn på generiske kontoer. Konfigurer kildekoden for å gjøre endringer.
Versjon: 1.0.0
Forfatter: Harri Bell-Thomas
Forfatter URI: http://hbt.io/
* /

// Forklar global var
globale $ login_parameter, $ kontoer;

// PARAMETEREN Å Sjekk etter
// f.eks. http://exmaple.com/wp-login.php?param_name=account
$ login_parameter = "autologin";

// KONTOKODE BLOKK
$ kontoer [] = matrise (
"user" => "demo",
"pass" => "demo",
"location" => "wp-admin",
);
// SLUTT KONTOKODE

// REDIGER OG gjenta KODE-BLOCK FOR SOM MANGE REGNSKAP SOM TRENGER

// Et annet eksempel på iterasjon
$ kontoer [] = matrise (
"user" => "tcwp",
"pass" => "demo",
"location" => "wp-admin /? tcwp-sent-me",
);


// SE TIDLIGERE EKSEMPEL FOR DETALJER OM DENNE FUNKSJONEN
funksjon autologin () {
globale $ login_parameter, $ kontoer;
foreach ($ kontoer som $ konto) {
if ($ _GET [$ login_parameter] == $ konto ['bruker']) {
$ creds ['user_login'] = $ account ['user'];
$ creds ['user_password'] = $ account ['pass'];
$ creds ['remember'] = true;
$ autologin_user = wp_signon ($ credits, false);
if (! is_wp_error ($ autologin_user))
header ('Location:'. $ account ['location']);
}
}
}
add_action ('after_setup_theme', 'autologin');

I kjernen er dette i hovedsak det samme, men med en frekk forkensløyfe pluss kontoer som også kastes inn. Anatomien til autologin () -funksjonen er identisk, bortsett fra at koden blir gjentatt (ved hjelp av foreach-sløyfen) for hver konto. Alle relevante detaljer lagres nå i den globale matrisen. Eksemplet ovenfor er satt opp for to kontoer, men utdraget vårt har plass til så mange vi trenger. Hvis du vil legge til flere kontoer, kan du bare tilpasse og legge til så mange av følgende kodeblokker du trenger.

// KONTOKODE BLOKK
$ kontoer [] = matrise (
"user" => "en annen konto",
"pass" => "public_password",
"location" => "http://YouCanPutURLsHereToo.com/",
);
// SLUTT KONTOKODE

Du vil også merke at jeg også har flyttet parameternavnet til en global variabel: dette er ikke nødvendig, men jeg gjorde det ganske enkelt for å fjerne alle hardkodede verdier fra autologin () -funksjonen.

KONKLUSJON

Dette utdraget er bare en enkel funksjon designet for lett bruk, for eksempel på et produktdemoside, men har potensial til å bli brukt i mye mer komplekse påloggingsscenarier. Resten av koden skal være ganske selvforklarende, men hvis du har spørsmål om hva jeg har gjort, eller hvorfor jeg har gjort det, er det bare å legge igjen en kommentar nedenfor eller tweet meg. Hvis du har noen tilbakemeldinger / forslag / ideer, legg igjen en kommentar i kommentarfeltet nedenfor!

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