Egyedi sablonok készítése bejegyzésekhez WordPressben

Talán már nálad is felmerült az igénye annak, hogy az egyes bejegyzésekhez egyedi megjelenést készíthess. Nos, most megmutatjuk, hogy hogyan csinálhatsz a különféle speciális bejegyzésekhez (pl. videó bejegyzéshez, játék oldalhoz), esetleg meghatározott szerzőkhöz, témákhoz kapcsolódó egyedi sablont. Őszinték leszünk: ehhez a cikkben foglaltakhoz annak érdemes nekikezdeni, aki rendelkezik alapfokú HTML- és CSS-ismeretekkel, és emellett van némi elképzelése arról is, hogy hogyan működnek a WordPress sablonok...

Talán már nálad is felmerült az igénye annak, hogy az egyes bejegyzésekhez egyedi megjelenést készíthess. Nos, most megmutatjuk, hogy hogyan csinálhatsz a különféle speciális bejegyzésekhez (pl. videó bejegyzéshez, játék oldalhoz), esetleg meghatározott szerzőkhöz, témákhoz kapcsolódó egyedi sablont.
Őszinték leszünk: ehhez a cikkben foglaltakhoz annak érdemes nekikezdeni, aki rendelkezik alapfokú HTML- és CSS-ismeretekkel, és emellett van némi elképzelése arról is, hogy hogyan működnek a WordPress sablonok…

Egyedi bejegyzés-sablon különböző bejegyzésekhez

Ezzel a technikával különböző egyedi bejegyzés-sablonokat készíthetsz, és írás közben (vagy előtt) mindig eldöntheted, hogy éppen melyik sablonra lesz szükséged adott esetben. A kivitelezéshez mindenképp le kell töltened egy bővítményt:  Single Post Template , majd kövesd az alábbi utasításokat.

Készítened kell egy egyedi fájlt, amit a példa kedvéért mi sajatpostkienezet.php-nek nevezünk. Tudod, megnyitod pl. a jegyzettömb programot és elmented az üres fájlt a fenti néven és kiterjesztéssel. Ha elakadsz, kérdezz minket!!!

Legegyszerűbb, ha átmásolhatod a sima  single.php fájlt tartalmát a sajatpostkienezet.php fájlba, és aztán megváltoztatod benne azt, amire nincs szükséged, vagy készíthetsz egy attól teljesen eltérő változatot is, ha az jobban tetszik. De egyvalamit biztosan meg kell tenned, ez pedig a következő: az alábbi kódot mindenképp add hozzá az elkészült fájlod elejéhez:

<?php
/*
Single Post Template: [SajatKinezetNeve]
Description: Ez opcionális, de később segíthet felidézni, hogy miért is csináltad a fájlt..
*/

?>

Ha végeztél, és elkészült az egyedi sablonod egyszerű bejegyzésekhez, mentsd a többi fájl közé a sablon-könyvtáradba (wp-content/themes/sablonod_mappaja/).

Feltételezzük, hogy a bővítményed már aktiválásra került, mikor a WordPress admin-felületén hozzálátsz egy új bejegyzés megírásának, így látnod kell egy legördülő menüt, amiből kiválaszthatod az aktuális bejegyzésnek megfelelő sablont.

Egyedi sablon WordPress bejegyzésehez

Fontos: ha nem választod ki egyik sablont sem, akkor automatikusan az alapértelmezett sablont fogod látni. Sablonod pedig annyi lehet, amennyit csak szeretnél.

Egyedi bejegyzés-sablonok meghatározott kategóriákhoz

A fenti módszer ideális ha speciális bejegyzésekről van szók, de ha egy meghatározott témához (kategóriához) szeretnél egy teljesen más sablont, akkor a módszer automatizálható néhány kóddal, amit a fájlba kell beszúrni. Ezzel időt takarítasz meg, hisz nem kell minden egyes bejegyzésnél kiválasztani az egyedi sablont, főleg, ha már több írás is van ugyanabban a kategóriában.

  1. Ahhoz, hogy eltérő bejegyzés-sablonokat használhass az egyes kategóriákhoz, a következő kell tenned. Hozzd létre az egyes kategóriákhoz a sablonfájljaidat. Ezeket másold be a sablonod mappájába: wp-content/themes/sablonodneve/ 
  2. Az egyedi bejegyzés-sablonokat nevezd el a következő módon: single_sablonodneve1.php, single_sablonodneve2.php, single_sablonodneve3.php stb.
  3. Ezen kívül másold ki a single.php fájlod tartalmát egy single_default.php fájlba. Ez fontos!
  4. Ezután az alábbi kódot be kell másolnod a single.php fájlodba oly módon, hogy átírod a kategóriák neveit és a saját sablonod neveit benne.:  kategoria_neve1, masik_kategoria_neve, single_sablonodneve1.php, single_sablonodneve2.php

Ha szeretnél további egyedi sablonokat létrehozni a kategóriákhoz, akkor csak szúrj be annyi feltételt, amennyit csak akarsz.

<?php

  if ( ! function_exists( 'post_is_in_descendant_category' ) ) {
      function post_is_in_descendant_category( $cats, $_post = null ) {
          foreach ( (array) $cats as $cat ) {
              // get_term_children() accepts integer ID only
              $descendants = get_term_children( (int) $cat, 'category' );
              if ( $descendants && in_category( $descendants, $_post ) )
                  return true;
          }
          return false;
      }
  }
?>

<?php

  $post = $wp_query->post;
  if (in_category( 'kategoria_neve' ) || post_is_in_descendant_category( get_term_by('slug','kategoria_neve1','category') )) {
      include(TEMPLATEPATH.'/single_sablonodneve1.php');
  } elseif (in_category( 'masik_kategoria_neve' ) || post_is_in_descendant_category( get_term_by('slug','masik_kategoria_neve','category') )) {
      include(TEMPLATEPATH.'/single_sablonodneve2.php');
  } else {
      include(TEMPLATEPATH.'/single_default.php');
  }
?>

 

Ez a kód utasítja a WordPresst, hogy keressen egy olyan sablont, aminek a neve single_sablonodneve1.php, single_sablonodneve2.php. Ha nem talál, akkor betölti a single_default.php tartalmát.

Egész pontosan nem tudjuk meghatározni, hogy hogyan kell elkészítened az egyedi bejegyzés-sablonodat, hiszen rajtad múlik, hogy mi az, amire szükséged van, de ha elakadsz, bátran kérdezz minket. Amit újra hangsúlyoznunk kell, az az, hogy minden ilyen egyedi sablonoknak a sablon-könyvtáradban kell lennie.

  • Hozzászólások
  • Kapcsolódások
120
  1. 2012-05-22 at 1:10 du.Kriszta - Válasz

    Sziasztok! Tudnátok segíteni sablonszerkesztésben? A Vacation Home 1.0 | Szerző: Wrangler sablon oldalsávjából szeretném kiszedni a search és archiv widgeteket, de ha eltávolítom az összes widgetet akkor is benn marad ez a kettő. Előre is hálás köszönet, Kriszta

    Cancel
  2. 2012-05-22 at 1:41 du.admin - Válasz

    Milyen kettőre gondolsz? És melyik sidebar-ra? Mert a sablonnál 2 van belőle.

    Cancel
    • 2012-05-23 at 8:41 du.Kriszta - Válasz

      A search és archiv. Ha leszedsz minden widgetet minkét sidebarból, ez a kettő akkor is ott marad. a forráskódban kell kitörölni? Mindkét sidebar-t le szeretném szedni, és egy címke, keresés, (nem search) widgetet behúzni.

      Cancel
      • 2012-05-24 at 9:30 de.admin - Válasz

        Az Advertisement dobozra szükséged van? Ha nem, akkor a if (!art_sidebar(1)): előtti záró div-ig töröld ki a tartalmát.

        Cancel
        • 2012-05-26 at 2:47 du.Kriszta - Válasz

          Hú, így teljesen összeesett a sablon. (a sidebar1.php-ban töröltem) Most visszaállítottam, csak az advertisement kifejezést töröltem, maradt egy üres doboz helyette. ha behúzok másik widgetet akkor is megmarad az üres doboz...

          Cancel
        • 2012-05-29 at 11:30 du.Kriszta - Válasz

          Van vmi ötleted, hogy lehet eltűntetni az üres dobozt? Köszi a választ előre is!

          Cancel
  3. 2012-05-23 at 8:48 de.Gábor - Válasz

    Okés...letöltöttem...telepítettem...és hogyan tovább? Miért a legizgalmasabb dolognál kell abba hagyni?...Így Ez nem leírás és nem segítség :S

    Cancel
    • 2012-05-23 at 8:58 de.admin - Válasz

      Szia Gábor, a cikket végig olvashatod, ha megosztod másokkal is a Facebook-on, Twitteren vagy Google+ -on keresztül.

      Cancel
  4. 2013-02-04 at 9:15 de.Pap Ágnes - Válasz

    Sziasztok! Ez melyik plugin csinálja, hogy előbb likeolni kell, és csak után olvashatom végig? Nagyon tuti. Köszi!

    Cancel
  5. 2014-09-29 at 3:56 du.Gyuri - Válasz

    Sziasztok! Megosztottam Google+1-el, de nem jelent meg a cikk többi része. Mi a teendő?

    Cancel
    • 2014-10-14 at 5:05 du.admin - Válasz

      Szia. Nézd meg most légyszi.

      Cancel
Írj egy választ

Írj egy választ

Válasz neki:

készült   2012-04-13
téma   Bővítmények, Sablonok
címke   , , , , ,