Ben een stap verder: ik had niet begrepen dat ik wp_list_pages het menu moest laten genereren. Maar ik ben er nog lang niet want de echte structuur van de pagina’s begrijp ik niet.
Jammer dat je hier niet kunt kiezen voor “half resolved”.
pagina’s kun je aanmaken en daarmee is er structuur. Niets meer en niets minder. Daarnaast kun je onder pagina’s ook weer pagina’s hangen zodat je childpages onder parentpages krijgt.
Maar de structuur van pagina’s in WP lijkt me ingrijpender dan in statische sites. Ik was gewend pagina’s te maken en een menu die naar die pagina’s verwezen, gewoon met een href.
Ik begreep maar niet waarom mijn nieuwe pagina’s niet in het lijstje “pagina’s” in het Dashboard verschenen, en waarom het menu niet werkte.
Inmiddels heb ik ook de page.php gevonden wat een template (b)lijkt te zijn.
En nu weet ik ook dat de via het dashboard aangemaakte pagina’s door de wp-list functie in een menu opgeroepen kunnen worden.
Dat is niet echt simpel als je gewend bent statische sites te bouwen, maar het went vast wel. (Het voordeel van deze manier van werken zie ik trouwens (nog) niet.)
Wat is nu precies de relatie tussen page.php en index.php? In sommige tuts lees ik dat je page.php moet omdopen tot index.php, in andere dat je page.php als frontpage moet aanwijzen, maar ik zie daartoe op het Dashboard geen mogelijkheid.
Op het ogenblik heb ik een index.php met een main en sidebar div en een page.php met een main en een sidebar div. De footer wordt bij beide pagina’s opgehaald via <?php get_footer(); ?> .
Nu lijkt het wel of ze beide als template fungeren, maar als ik page.php wis, verschijnt alleen de index pagina in de browser, dus papge.php is kennelijk nodig als template voor de overige pagina’s, alleen zie ik de structuur niet.
Ik wil die structuur graag helder hebben omdat mijn sidebar op het ogenblik onder de main.div verschijnt, in plaats van ernaast. De main div heeft een float left, de sidebar een float right. Ik heb nog geprobeerd er een clear-div tussen te zetten, maar dat maakt niets uit.
Kan iemand me enig inzicht geven?
Dank!
http://codex.wordpress.org/Template_Hierarchy
Hier zie je logica van Template’s (layouts). Met index.php (voorpagina), single.php (enkelvoudig bericht) en page.php (losse “statische” pagina) pagina kom je een heel eind (en wel ook header.php en footer.php en sidebar.php).
Als je al je berichten voluit op de voorpagina plaatst zou je zelfs single.php niet nodig hebben.
De afsplitsing van header.php en footer.php en sidebar.php is allen maar handig. Anders zou je bijv een wijziging in je footer minstens drie keer moeten doen, nl in je index, single en page.
In WP maak je berichten en pagina’s zoals Contact en About Me altijd via het Dashboard en die worden opgeslagen in de Database.
Dan is er nog de eeuwige verwarring over bloggen op je voorpagina of een statische frontpagina instellen. Ook dat doe je in het Dashboard onder Instellingen/Lezen. Daarvoor hoef je NOOIT een Template te maken of iets in je theme toe te voegen.
Wat is het voordeel ervan? Ik heb nu 400 berichten en zo’n 50 pagina’s en 1200 images. Dan raak je in html/Frontpage/FTP op een gegeven moment de weg kwijt.
Bedankt voor de uitleg, Henk. Het nut van een header, footer en sidebar zie ik wel in.
Het wordt een site met vooral statische pagina’s. Een aantal dingen heb ik inmiddels uitgevist (het probleem met de sidebar die zich ondankt een floar-right naar onderen liet duwen lag aan een stommiteit: ik had de width’s van main en sidebar verkeerd uitgerekend).
Ik heb nu o.a. een page.php waarin als het ware de kale get_dit_en_dat staan) en een index.php waarin die get_instructies ook staan, plus inhoud.
Wat mij verbaast: ik heb beide nodig, anders wordt er kennelijk niets gevonden en krijg ik geen pagina’s te zien.
Kun je dat nog uitleggen, waarom beide nodig zijn?
Dank.
Nee, niet volgens de template hierarchy want als er geen page.php is dan pakt hij automatisch index.php .
Index.php moet er altijd zijn anders draait het volgens mij niet.
Wederom bedankt, Henk. Zonder index.php werkt het inderdaad niet, maar (bij mij) zonder page.php ook niet. Dat begrijp ik niet, want page.php bevat ook alle get_header etc. er staat alleen niets inhoudelijks in.
Vergelijk jouw page.php eens met die van het Default theme (of test het eens uit door om te schakelen naar het default theme).
Er moet toch minstens ook dit (ongeveer) in staan:
<?php the_content('Read the rest of this page »'); ?>
Er moet toch minstens ook dit (ongeveer) in staan:
<?php the_content(‘Read the rest of this page »’); ?>
Je hebt gelijk, dat staat inderdaad in mijn page.php maar niet in mijn index.php. Dus dat is de reden waarom ze beide nodig zijn?
Hmm?? Tenzij er in jouw index.php wel php the-excerpt
(ipv php theh_content) staat zou page.php nog steeds niet nodig zijn.
Als dat er ook niet in staat, laat jouw index niks zien of alleen titels.
Maar ik weet hier ook niet zoveel van hoor. Voor mijn eigen thema ben ik niet met lege files begonnen maar met kopien van het Default theme en daarin ben ik gaan wissen/aanpassen tot het me beviel.
Hoe dan ook, je hebt me veel wijzer gemaakt. Bedankt! Ik ga verder experimenteren.