I denne uge var vi ved at færdiggøre implementeringen af et brugerdefineret tema på et klientside, og de anmodede om, at vi byggede en slags interaktion, hvor nogle af siderne var begrænset til registrerede abonnenter. Først tænkte vi på at implementere tredjeparts plugins, men løsningen var faktisk ret enkel.
Først kopierede vi sideskabelonen til en ny fil (ethvert navn er fint, vedligehold bare php-udvidelsen). Øverst på siden skal du sørge for at kommentere siden, så du kan se den i skabelonditoren ved navn:
Kig derefter efter linjen i din sides kode, der viser indholdet. Det skal se sådan ud:
Nu skal du pakke nogle koder rundt om den linje:
Kun abonnent Vi beklager, det indhold, du prøver at nå, er kun begrænset til abonnenter.
Koden starter med at kontrollere sessionen for at se, om brugeren er logget ind på dit WordPress-websted. Hvis de er logget ind, vises indholdet. Hvis de ikke er logget ind, står det i meddelelsen, at du prøver at nå begrænset indhold.
For at bruge siden skal du vælge Kun abonnenter sideskabelon i det avancerede afsnit af din sides muligheder (på sidepanelet). Dette begrænser siden til læsere, der er logget ind.
Hvis du gerne vil være rigtig fancy, kan du også tilføje en login- og logoutmetode til din sidebjælke:
">Log ud /wp-login.php">Kundelogin
Dejligt indlæg ... Jeg er overrasket over, at dette ikke er tilgængeligt i Synlighedsindstillingerne.
Det er en strålende løsning, Doug! Et godt eksempel på at finde den nemme, men effektive løsning.
Nyttigt indlæg, dette. Tweetet denne side. Jeg har dog et spørgsmål.
Hvad hvis du vil vise en del af en blog-side til alle besøgende, men det hele til kun abonnenter?
Hej Partha,
Det ville være ret simpelt - du kunne tilføje den samme teknik til sidehovedet og grundlæggende sige ... hvis (ingen bruger-ID OG side ikke er lig med sidenavn) så header frem til login-siden.
Doug
fantastisk elegant løsning! lige hvad jeg havde brug for, overvejede jeg seriøst at oprette et eksternt login-system.
dette klipper!
Dette er IKKE brugervenligt for folk, der lærer. Ikke brugervenlig overhovedet !!!!
Definitivt skrev ikke dette i tankerne til nybegynderen. Undskyld Devs_mum!
Det er ikke brugervenligt, men det er ok… Jeg har lyst til, at nogle billeder af det, jeg skal gøre, kan hjælpe. Ellers ... Jeg vil bare prøve ting, indtil det fungerer!
kopier side.php, Omdøb side2.php og indsæt kode ovenfor, gem fil, upload tilbage til indhold / tema / uanset hvad der kaldes, gå til indlæg eller sideændring standard sidelayout til side2.php. Ingen grund til at oprette en ny sidestil / layout, bare kopier den, du bruger, og omdøb den. så fullwidth.php er fullwidth2.php så simpelt.
Ok, så efter MANGE forsøg og se andre tutorials på internettet ... har jeg fundet ud af, at Oprettelse af en ny sideskabelon er mit problem. Jeg laver en i en teksteditor og prøver at uploade den til ... hvor? Jeg ved ikke engang, hvor jeg skal hen. Jeg ser ikke ud til at finde dette hemmelige sted at uploade til!
Så sandt, LaRocque! Du skal have et FTP-program og få adgang til dit websteds temamappe, så du kan uploade filen der. Der er INGEN måde i øjeblikket at gøre det gennem den administrative skærm. En undtagelse ville være at installere et "File Manager" plugin, der giver dig mulighed for at oprette nye filer. Vær dog forsigtig!
Eller bare brug - intet behov for at indlæse hele brugerobjektet.
http://codex.wordpress.org/Function_Reference/is_user_logged_in
Eller bare brug - intet behov for at indlæse hele brugerobjektet.
http://codex.wordpress.org/Function_Reference/is_user_logged_in
Eller bare brug - intet behov for at indlæse hele brugerobjektet.
http://codex.wordpress.org/Function_Reference/is_user_logged_in
Eller bare brug - intet behov for at indlæse hele brugerobjektet.
http://codex.wordpress.org/Function_Reference/is_user_logged_in
Du kan helt sikkert bare kontrollere, om en bruger er logget ind eller ej; den ovenfor definerede metode vil dog i sidste ende give dig mulighed for at bruge tilladelsesniveauer, hvis du gerne vil tilpasse niveauer!
Eller bare brug - intet behov for at indlæse hele brugerobjektet.
http://codex.wordpress.org/Function_Reference/is_user_logged_in
Eller bare brug - intet behov for at indlæse hele brugerobjektet.
http://codex.wordpress.org/Function_Reference/is_user_logged_in
OK, så jeg bider ... Hvordan vil du ændre dette for at tillade kontrol af tilladelser?
Lad os sige - vi vil stadig tillade enhver at oprette sit eget "Abonnent" brugernavn og sende svar.
MEN - vi giver kun adgang til siden "Kun abonnenter" kun til de brugere, der er angivet af en administrator?
Thanks a lot!
Douglas - Jeg brugte din kode - og for det meste fungerer den godt! Det problem, jeg har, er, at Logout-linket vender tilbage til et websted, der ikke findes. Jeg har faktisk prøvet flere wordpress-koder fra hele internettet for at få log-out-koden til at fungere. . . men brugeren forbliver stadig logget ind, og returneringen er //wp-login.php?redirect_to=“>log%20in%20%20%20%20%20%20%20%20%20%20%20%20%20 % 20% 20% 20% 20% 20% 20% 20% 20% 20% 20% 20% 20% 20% 20% 20% 20% 20% 20% 20% 20% 20% 20% 20% 20% XNUMX
Nogen tanker?
Det ser ud til, at det bare kan være, at når koden blev kopieret fra din browser, tilføjede den en masse HTML-mellemrum, Ryan. Kopier koden til Notepad eller Textpad, og kopier den derefter til din skabelon for at slippe af med de ting.
Ok, så det er nøjagtigt hvad jeg skal gøre, men jeg har et spørgsmål. Hvis de ikke er abonnent, hvordan kan jeg så få vist et "log ind" eller "abonner" felt, så de kan få adgang til indholdet?
Tak
Du kan sætte et link efter den anden erklæring, hvor vi har "Vi beklager ..." ovenfor.
Tak for koden. vil gøre folk sur på mig, men de antager at logge ind, når de vil have noget, der ikke giver alle fri adgang til at gøre filerne nemme at finde.
Det lyder som om denne metode er genstand for kapring af sessioner. Login-cookien tilføjes i det sikre område, men da wordpress fungerer som en ikke-sikker cookie, vil den stadig blive vist, hvis brugeren gennemser tilbage til en del af webstedet, der ikke er krypteret.
Dette er ikke et hack, det bruger WordPress API-funktionerne - og omgår ikke nogen sikkerhed eller har direkte adgang til sessionen eller cookien.
tak meget brugt if-erklæringen til at lave en div-container, hvis brugeren er medlem
din løsning var god