Mostanában gyakran felmerülő probléma – készítek egy oldalt, de olyat, amit csak akkor látogathatnak meg, ha én irányítok oda látogatókat. Azaz ne jelenjen meg az oldalra mutató hivatkozás a wordpressre annyira jellemző “oldalak” felsorolásban.
Példa – a kajarikbela.hu oldal jobb felső sarkában felsorolt oldal-linkek (lásd a képen nyillal megjelölve).
A rendszerben elkészült még egy oldal, amit nem szeretnénk a főoldalon (és úgy általában) mutogatni senkinek, viszont elérhető kell legyen bárki számára. Mi a teendő?
Fontos!
Lazaságból minden biztonsági kockázatra fittyet hányva “on-the-fly”, az on-line rendszerben végzem el a core php módosításokat. Fontos tudnod, ha így teszel, és akár egy vesszőt is elnézel, akkor a rendszered összeomolhat! Csak akkor tedd ezt, ha teljesen biztos vagy a dogodlban – én az vagyok, mégis parázok egy kicsit
.
Ha tiszta kezdő vagy, érdemes helyi, local szerveren tesztelned a működést – kisebb segítség itt: http://hun2.org/blog/teljes/ne_rontsd_el/, illetve itt: http://hun2.org/blog/teljes/ne_rontsd_el2/
Mielőtt belepiszkálnánk a rendszerbe, szükségünk van az oldal azonosítójára – ezt megtalálod a szerkesztés nézetben (amikor az oldaladat éppen szerkeszted) – mondjuk a böngésződ címsorában (a post változó értéke, &post=”xxxx”):
Ha kész a bejegyzés, akár közzé is tehetjük – néhány percig lesz csak látható a menüsorban, hamar ki lehet pakolni onnan.
Milyen linken érhető el mégis az oldal? Még mindig a szerkesztés résznél találod az oldal címe alatt a közvetlen linket:
Előkészületek kipipálva, Action!
A sablonod szerkesztéséhez kattints a Megjelenés / Szerkesztő menüpontra:
Ezt követően – jobb oldalt a sablonok listájából válaszd ki a fejlécet:
Illetve ebben az esetben a Fejlécre van szükségünk, mert itt van az oldalak listája. Hogy pontosan hol? Keress egy ilyen szövegrészt a fejrész forrásában: <?php wp_list_pages('title_li='); ?>
Ez a rövid kis forráskód nem csinál egyebet, csak kilistázza az összes oldal linkjét, méghozzá HTML felsorolásként. Van egy paramétere, amivel kizárhatunk a listából egyes oldalakat (hát éppen erre lenne szükségünk).
Ez a paraméter pedig az exclude.
Mivel már van egy paraméter hozzácsatolva a template TAG-hez (a title_li), ezért ahhoz hozzá kell fűzzük az újabb paramétert egy & kapcsolóval, valahogy így:<?php wp_list_pages('title_li=&exclude=2403'); ?> – ahol az exclude értéke az oldalunk azonosítója lesz, amit a legelején kilestünk a böngésző címsorából.
Mentsd a szerkesztés módosításait, kész vagy. Az oldalad elérhető a közvetlen link segítségével, mégsem lesz kilistázva a főoldalon a többi linkkel.
Ha akad hasonló problémád, a hozzászólásoknál jelezd!






Szia Attila!
Nagyon könnyen érthetően mutattad itt be ezt a remek megoldást, amiért köszönetet
szeretnék mondani.
Attila!
Egy újabb oldal hozzáadása HOGYAN történik?
Milyen “összeadás” jelet kell használni ebben az esetben?
+
&vagy valami mást?Pl.
:
<?php wp_list_pages('title_li=&exclude=2403+2468'); ?>vagy
:
<?php wp_list_pages('title_li=&exclude=2403&exclude=2468'); ?>Egyszerűen vesszővel elválasztva fel kell sorolni az oldalakat (exclude=2403,2468)
Köszi szépen Attila a precíz választ!
Kedves Attila!
.
Az én sablonomnál ezt nem tudom megcsinálni. Nekem az alábbi kódnál jól látható, hogy csak a depth=1 * értéket lehet állítani, én hogyan tudom megcsinálni, hogy a főoldal még is rejtett legyen? Az exclude= értékem nekem így néz ki. **
.
Előre is köszönöm a válaszod!
.
*
.
<div id=”top”>
<ul class=”nav1″>
<li <?php if ( is_home() ) { ?> class=”current_page_item” <?php } ?>><a href=”<?php echo get_option(‘home’); ?>/”><span>Kezdőlap</span></a></li>
<?php
$pages = wp_list_pages(‘sort_column=menu_order&title_li=&echo=0&depth=1′);
$pages = preg_replace(‘%<a ([^>]+)>%U’,'<a $1><span>’, $pages);
$pages = str_replace(‘</a>’,'</span></a>’, $pages);
echo $pages;
?>
</ul>
<!–/nav1–>
.
**
.
</div>
<!–/header –>
<div id=”topmenu”>
<ul id=”nav”>
<?php include(TEMPLATEPATH . ‘/includes/version.php’); ?>
<?php wp_list_categories(‘title_li=&exclude=’ . $ex_aside) ?>
Szia Péter!
Ki kell egészíteni a kódot valahogy így:
$pages = wp_list_pages(’sort_column=menu_order&title_li=&echo=0&depth=1&exclude=…′);
Ahol a ‘…’ helyére vesszővel elválasztva jöhetnek a kizárni kívánt oldalak azonosítói.
Nagyon szépen köszönöm Attila, sikerült!!
Lenne még egy kérdésem Attila, remélem nem számít offnak. Ugyanezt szeretném megtenni, csak nem az oldalakkal, hanem az új bejegyzésekkel. Tehát bárki számára látható legyen, ha a kategóriában, archívumban vagy a keresőben keresi, de a főoldalon ne jelenjen meg a friss bejegyzéseknél. Erre a sablonomon belül nincs külön menüpont, ezért kérdezem, hogy lehet-e ilyet csinálni?
A friss bejegyzések megjelenítésére általában egy plugin szolgál – vagy a
.
wp_get_archives templatetag. Bárhogy is kapd meg a legfrissebb bejegyzéseket, azokat a közzététel dátuma szerint válogatja ki a rendszer. Egy módja van, hogy a legfrissebb bejegyzések között ne legyen ott egy bejegyzés: a közzététel előtt a közzététel dátumát átállítod egy régireÉs a közzététel dátumát hogyan tudom átállítani? Vagy ha van erre plugin, akkor annak meg tudod mondani a nevét? Köszi!
Ja – a közzététel dátuma – hát a post / oldal írásakor jobb oldalt adható mega pontos dátum.
Köszi Attila!
Szia Attila. Tetszik a Classic Luxury theme de szeretném kicserélni rajta a képeket.
Totál kezdo vagyok. Tudnál segíteni roviden hogy hogy is lehet. Gondolom a képeket amire ki akarnám cserélni valahova uploadoznom kéne és az url-ket helyettesíteni vagy átírni.
Ha ez így van akkor azt szeretném tudni, hogy a html-ben hol találom azokat az url-ket amiket át kell írni. Nem tudom. hulyeséget mondtam?? Totál kezdo vagyok.:)
Szia – a nyitóoldal képeit a galériából veszi – szóval csak a galériát kell frissítened.