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:
[codesyntax lang=”php”]
<?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.. */ ?>
[/codesyntax]
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.
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.
- 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/
- Az egyedi bejegyzés-sablonokat nevezd el a következő módon: single_sablonodneve1.php, single_sablonodneve2.php, single_sablonodneve3.php stb.
- Ezen kívül másold ki a single.php fájlod tartalmát egy single_default.php fájlba. Ez fontos!
- 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.
[codesyntax lang=”php”]
<?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'); } ?>
[/codesyntax]
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.
Sziasztok! Megosztottam Google+1-el, de nem jelent meg a cikk többi része. Mi a teendő?
Szia. Nézd meg most légyszi.
Sziasztok!
Ez melyik plugin csinálja, hogy előbb likeolni kell, és csak után olvashatom végig?
Nagyon tuti.
Köszi!
Szia Ági! ez az a plugin.
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
Szia Gábor, a cikket végig olvashatod, ha megosztod másokkal is a Facebook-on, Twitteren vagy Google+ -on keresztül.
Milyen kettőre gondolsz? És melyik sidebar-ra? Mert a sablonnál 2 van belőle.
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.
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.
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…
Van vmi ötleted, hogy lehet eltűntetni az üres dobozt?
Köszi a választ előre is!
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