Oldal megtekintése csak tagoknak 2

Legutóbbi munkánknál egy olyan kéréssel fordultak hozzánk, hogy a weboldalon egyes oldalakat csak regisztrált felhasználók érhessenek el. Ennek megoldására léteznek bővítmények, de egyszerűen is megoldható a dolog, ha a használt sablonod alatt létrehozol egy sablonmintát a tagoknak fenntartott tartalomhoz. Így az adott oldal megtekintése csakis a tagoknak lesz lehetséges bejelentkezés után.

Nézzük a lépéseit. Mi a példa kedvéért a twntyeleven sablont használtuk, hiszen az minden wordpressnél elérhető így követheted a folyamatot. A használt sablonodnál keresd meg a page.php fájlt, Ennek tartalmát másold ki egy jelgyzettömbe (pl. használhatod a Notepad++ programot). Ezután hozz létre egy úgy php fájlt és legyen a neve pl. csak-tagoknak.php és másold bele. Egészítsd ki a következőkkel.

Adj nevet a sablonmintának

A nyitó php után szúrd be a következőket:

[codesyntax lang=”php”]

/**
 * Template Name: Csak tagoknak - teljes nézet
 */

[/codesyntax]

Oldal megtekintése csak tagoknak

A get header után korlátozd a hozzáférést a tagsághoz:

[codesyntax lang=”php”]

get_header(); ?>
<?php if (is_user_logged_in()) { ?>

[/codesyntax]

A get_footer() elé szúrd be a következő sorokat, így egy információs üzenetet küldhetsz a látogatónak, illetve megkönnyíted a bejelentkezését az űrlappal:

[codesyntax lang=”php”]

<?php } else {
// aki nincs bejelentkezve a következő sorokat látja
       ?>
<div id="primary">
<div id="content" role="main">
<p>Bocs, de ezt az oldalt csak tagok látogathatják. Kérjük <a href="<?php bloginfo('wpurl'); ?>/wp-login.php?action=register">regisztrálj</a>. Az adminisztrátorok hamarosan jóváhagyják a regisztrációdat.</p>

<p><form name='loginform' id='loginform' action='<?php bloginfo('wpurl'); ?>/wp-login.php' method='post'>
    <p>
      <label>Felhasználónév<br />
      <input type='text' name='log' id='log' value='' size='20' tabindex='1' />
      </label>
    </p>
    <p>
      <label>Jelszó<br />
      <input type='password' name='pwd' id='pwd' value='' size='20' tabindex='2' />
      </label>
    </p>
    <p>
      <label>
      <input name='rememberme' type='checkbox' id='rememberme' value='forever' tabindex='3' />
      Emlékezzen rám</label>
    </p>
    <p class='submit'>
      <input type='submit' name='submit' id='submit' value='Bejelentkezés &raquo;' tabindex='4' />
      <?php //használj rejtett mezőt ahhoz, hogy visszairányítsd a korábbi oldalra a felhazsnálót ?>
      <input type="hidden" name="redirect_to" value="<?php echo $_SERVER["REQUEST_URI"]; ?>" />
    </p>
  </form></p>
</div></div>
  <?php	} ?>
<?php get_footer(); ?>

[/codesyntax]

Ennyi volt a mutatvány.

 

2 thoughts on “Oldal megtekintése csak tagoknak

  1. Reply Szilágyi György Aug 28,2014 7:22 am

    Szia!
    Köszönöm ezt a tippet, megcsináltam, működik is nagyszerűen, viszont egy olyan gondom van, ami lehet, hogy összefügg ezzel a változtatással.
    Az oldalak tartalma nem jelenik meg, csak valami össze-vissza szöveg, ez itt:

    $hasSidebar = “”; $sidebar = get_post_meta($post->ID,’wpl_enable_sidebar’,true); get_template_part(‘content’, ‘page’ ) ; if($sidebar==”false” ) { echo ‘
    ‘; } else { get_sidebar(); }

    Tudsz segíteni, mi lehet a gond?

    Lehet, hogy az, hogy én az eredeti page.php file-t változtattam meg. Ha ez a gond, hogy tudom az alá létrehozni a módosított csapatpage.php-t létrehozni?

    Köszönöm a segítségedet!

    Üdv: Szilágyi György

    • Reply admin Aug 29,2014 10:33 am

      Kedves György! Ahogy a cikkben is leírtuk a hozz létre egy csapatpage.php fájlt és abba másold bele a page tartalmát. A page.php oldalra is szükséged van, tehát az ne változtasd meg.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.