Restringeix les pàgines de WordPress per requerir un inici de sessió

Pantalla 2013 07 01 a 12.23.52 PM

login_lock.jpgAquesta setmana, acabàvem d’implementar un tema personalitzat en un lloc client i ens van sol·licitar que creéssim algun tipus d’interacció en què algunes de les pàgines estiguessin restringides als subscriptors registrats. Al principi, vam pensar en implementar connectors de tercers, però la solució era bastant senzilla.

En primer lloc, hem copiat la plantilla de pàgina en un fitxer nou (qualsevol nom està bé, només cal que mantingueu l'extensió php). A la part superior de la pàgina, assegureu-vos de comentar la pàgina perquè pugueu veure-la a l'editor de plantilles per nom:

 

A continuació, cerqueu la línia del codi de la pàgina que mostri el contingut. Hauria de ser així:

 

Ara, haureu d’ajustar una mica de codi al voltant d’aquesta línia:

 Només per a subscriptors Ho sentim, el contingut al qual intenteu arribar només es pot restringir als subscriptors.

El codi comença comprovant la sessió per veure si l’usuari ha iniciat la sessió al vostre lloc de WordPress. Si han iniciat la sessió, es mostrarà el contingut. Si no hi ha iniciat la sessió, el missatge indica que esteu intentant arribar a contingut restringit.

Per utilitzar la pàgina, haureu de seleccionar el fitxer Només subscriptors plantilla de pàgina a la secció avançada de les opcions de la pàgina (a la barra lateral). Això restringirà la pàgina als lectors que hagin iniciat la sessió.

Si voleu que us agradi, podeu afegir un mètode d'inici de sessió i tancament de sessió a la barra lateral:

">Tancar sessió /wp-login.php">Inici de sessió del client

28 Comentaris

  1. 1
  2. 2
  3. 3
    • 4

      Hola Partha,

      Això seria bastant senzill: podeu afegir la mateixa tècnica a la capçalera de la pàgina i dir bàsicament ... si (cap identificador d'usuari I la pàgina no és igual al nom de pàgina), capçalera cap endavant a la pàgina d'inici de sessió.

      Doug

  4. 5

    gran solució elegant! just el que necessitava, estava considerant seriosament la possibilitat de crear un sistema d’inici de sessió extern.
    això roques!

  5. 6
    • 7
      • 8

        No és fàcil d'utilitzar, però està bé ... Em sembla que ajudarien algunes imatges del que se suposa que estic fent. En cas contrari ... vaig a provar coses fins que funcioni!

        • 9

          copieu page.php, canvieu el nom de page2.php i inseriu el codi a sobre, deseu el fitxer, torneu a carregar-lo al contingut / tema / allò que es demana, aneu a la publicació o canvieu la pàgina per defecte a la pàgina2.php. No cal crear un disseny / estil de pàgina nou, només cal que copieu el que utilitzeu i canvieu-lo amb el nom. així que fullwidth.php és tan senzill fullwidth2.php.

      • 10

        D'acord, doncs, després de MOLTS intents i de veure altres tutorials a Internet ... He trobat que FER una nova plantilla de pàgina és el meu problema. En faig un en un editor de text i intento penjar-lo a ... on? Ni tan sols sé on anar. Sembla que no trobo aquesta ubicació secreta on penjar-la.

        • 11

          Tan cert, LaRocque! Heu de tenir un programa FTP i accedir a la carpeta de temes del vostre lloc web per poder-hi penjar el fitxer. Actualment, NO hi ha cap manera de fer-ho a través de la pantalla administrativa. Una excepció seria instal·lar un connector "Gestor de fitxers" que us permetrà crear fitxers nous. Aneu amb compte, però! 

  6. 12
  7. 13
  8. 14
  9. 15
  10. 17
  11. 18
  12. 19

    D'acord, així que vaig a mossegar ... Com modificaríeu això per permetre la comprovació dels permisos?

    Posem per cas que encara volem permetre a tothom crear el seu propi nom d’usuari “Subscriptor” i publicar respostes.
    PERUT: només concedim accés a la pàgina "Només subscriptors" només als usuaris especificats per un administrador?

  13. 20
  14. 21

    Douglas: he utilitzat el teu codi i, en la seva major part, funciona molt bé. El problema que tinc és que l'enllaç de tancament de sessió torna a un lloc que no existeix. De fet, he provat diversos codis de wordpress de tot el web perquè el codi de tancament de sessió funcioni. . . però l'usuari continua mantenint la sessió iniciada i el retorn és //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

    Alguna idea?

    • 22

      Sembla que pot ser que quan es va copiar el codi del navegador, va afegir un munt d’espais HTML, Ryan. Copieu el codi a Bloc de notes o Textpad i, a continuació, copieu-lo a la plantilla per desfer-vos d’aquestes coses.

  15. 23

    D'acord, per tant, això és exactament el que he de fer, però tinc una pregunta. Si no són subscriptors, com puc fer que aparegui un quadre "Inici de sessió" o "subscripció" perquè puguin accedir al contingut?

    Gràcies

  16. 25

    Gràcies pel codi. farà que la gent s’enfadi amb mi, però suposen que si inicien sessió quan volen alguna cosa no es permet l'accés gratuït a tothom perquè els fitxers siguin fàcils de trobar.

  17. 26

    Sembla que aquest mètode està sotmès a segrest de sessió. La galeta d’inici de sessió s’afegirà a l’àrea segura, però, ja que wordpress serveix com a cookie no segura, encara es publicarà si l’usuari torna a navegar a una part del lloc que no està xifrada.

  18. 28

Què et sembla?

Aquest lloc utilitza Akismet per reduir el correu no desitjat. Esbrineu com es processa el vostre comentari.