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 de tancament de sessió a la barra lateral també:

">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: podríeu afegir la mateixa tècnica a la capçalera de la pàgina i, bàsicament, dir... si (cap ID d'usuari I pàgina no és igual al nom de la pàgina), aleshores encapçalau-vos a la pàgina d'inici de sessió.

      Doug

  4. 5
  5. 6
    • 7
      • 8

        No és fàcil d'utilitzar, però està bé... Em sembla que algunes imatges del que se suposa que he de fer m'ajudarien. En cas contrari... només provaré coses fins que funcionin!

        • 9

          copieu page.php, canvieu el nom de page2.php i inseriu el codi a sobre, deseu el fitxer, torneu a carregar-lo a contingut/tema/qualsevol que es digui, aneu a la publicació o canvieu el disseny de pàgina predeterminat a page2.php. No cal crear un estil/disposició de pàgina nou, només copieu el que feu servir i canvieu-lo. així que fullwidth.php és fullwidth2.php tan senzill.

      • 10

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

        • 11

          Tan cert, LaRocque! Heu de tenir un programa FTP i accedir a la carpeta de temes del vostre lloc web per poder pujar-hi el fitxer. Actualment NO hi ha manera de fer-ho a través de la pantalla administrativa. Una excepció seria instal·lar un connector "Gestor de fitxers" que us permeti 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 mossegaré... Com ho modificaries per permetre la comprovació dels permisos?

    Diguem que encara volem permetre que qualsevol persona creï el seu propi nom d'usuari de "subscriptor" i publiqui respostes.
    PERÒ: només donem accés a la pàgina "Només subscriptors" als usuaris especificats per un administrador?

  13. 20
  14. 21

    Douglas (he utilitzat el teu codi) i en la seva majoria funciona molt bé! El problema que tinc és que l'enllaç Tanc de sessió torna a un lloc que no existeix. De fet, he provat diversos codis de wordpress de tot el web per fer que el codi de tancament funcioni. . . però l'usuari encara roman connectat 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

    Alguna idea?

    • 22

      Sembla que pot ser que quan es va copiar el codi del navegador, s'ha afegit un munt d'espais HTML, Ryan. Copieu el codi al Bloc de notes o al Bloc de text i després copieu-lo a la vostra plantilla per desfer-vos d'aquestes coses.

  15. 23

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

    Gràcies

  16. 25

    Gràcies pel codi. enfadarà la gent amb mi, però suposen que han d'iniciar sessió quan volen alguna cosa que no permeten a tothom l'accés gratuït per fer que els fitxers siguin fàcils de trobar.

  17. 26

    Sembla que aquest mètode està subjecte a un segrest de sessions. La galeta d'inici de sessió s'afegirà mentre estigui a l'àrea segura, però com que wordpress la serveix com a galeta no segura, encara es servirà 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.