I hela denna sexdelade nybörjare till mästarserien använder vi avancerade funktioner i WordPress för att skapa vår egen portfölj och blogg, komplett med en options sida, flera stilar och stöd för de nya WordPress 2.7-funktionerna. Idag planerar vi våra blogginlägg och stilar "enskilda inlägg" baserat på kategori.
Idag kommer vi att föra vårt fokus till bloggdelen av temat. Vi kodar den viktigaste "bloggen" -vyn, skapar sidofältet och slutar med den enskilda postvisningen.
Koden för huvudbloggvisningen kommer att sitta inuti index.php
. Det här är den sida som visar alla våra blogginlägg, med länkar till deras huvudsakliga / enkla vy där du vanligtvis fortsätter posten och tillåter användare att kommentera.
Nedan följer en förhandsgranskning av hur layouten för alla bloggavsnitt kommer att se ut, med sidofältet till höger:
Låt oss börja. I index.php
ange följande kod. Vi börjar med att inkludera vår rubrik sida och sedan skapa vår div # mainarea
som, som du kan se i den första bilden, håller blogginläggen (med sidofältet till höger).
Lägg till följande till
style.css
Att sätta#mainarea
med rätt stilar:#mainarea float: left; padding-right: 30px; bredd: 690px;WordPress Loop
Därefter börjar vi ett WordPress Loop med några anpassade kriterier:
Den första raden tillåter oss att använda paginering i WordPress-loopen, dvs. berätta om slingan för att bara innehålla x inlägg och sedan visa länken "Nyare inlägg" till nästa parti. Koden kontrollerar om den aktuella sidan begär en viss paginationssida, om den inte visar den första.
Inuti
query_posts ()
vi specificerar att använda pagination; och berätta även att slingan ska utesluta inlägg från vår portföljkategori (notera minus symbolen).Nästa upp är koden inuti slingan. Som nämnts i dag 2 kommer något i slingan att utföras för varje tillgängligt inlägg.
"title =" Fortsätt läsa """>
- #comments ">
Vi börjar med att inkludera varje inlägg i sin egen div. Vi använder
the_ID ()
att ge varje div ett unikt ID (inse att du någonsin behöver ställa ett specifikt inlägg på olika sätt); och vi har också gett varje en klass avinlägg
för att den ska bli stylad.Nästa postrubrik utmatas med
titeln()
ochthe_permalink ()
används för att inkludera länken till hela inlägget.Inuti
ul.meta
är lite extra information för posten.the_category ()
används för att mata ut namnen på de kategorier som posten är tilldelad (separerad med ett kommatecken).Vi länkar sedan till kommentarerna till inlägget, återigen använder
the_permalink ()
, ochcomments_number ()
används för att mata ut antal kommentarer till inlägget.
tiden()
tillhandahåller det datum som posten publicerades.F jS
är en PHP-datumkod för "Månadens namn" (J); Datum (j) och datumförlängning (dvs 'st', 'nd', 'rd' eller 'th') (S).
Detta skulle till exempel utgå Janauary 31st. Du kan också lägga tillY
till slutet för att producera året. För mer information, se manualen PHP: Date ().Slutligen matas det faktiska kroppsinnehållet för inlägget med
innehållet()
. En länk "Läs mer" läggs automatiskt till posten om det behövs.Därefter stänger vi Loop med
EndWhile
, och inkludera paginationsknapparna för att cykla genom äldre / nyare inlägg (vilket är var vårt$ sökt
koden kommer till nytta) med hjälp avnext_posts_link ()
ochprevious_posts_link ()
funktioner:Vi har också inkluderat vår
sidebar.php
ochfooter.php
filer.styling
Förhandsgranska bloggen i din webbläsare. Jag har redan lagt till i ett extra inlägg med några exempeluppgifter. Bilden nedan belyser vad vi behöver ändra:
Kasta följande in
style.css
. Vi lägger till separering mellan varje blogginlägg (.inlägg
) och ställ inul.meta
objekt att visa inline. De.justera vänster
,.anpassa till höger
och.Centrera i linje med
klasser är också inställda - dessa klasser används av WordPress för att anpassa bilder och används också vid vår pagination..blogpost clear: both; marginalbotten: 45px; vadderande-botten: 40px; överflöde: gömd; .singleblog overflow: hidden; ul.meta margin: 0 0 25px 0; ul.meta li display: inline; font-family: Verdana, Arial, Helvetica, sans-serif; typsnittstorlek: 0,7em; linjehöjd: 1,3em; marginal-höger: 10px; padding-left: 12px; text-transform: stor bokstav; ul.meta li: första barnet border: none; padding-left: 0; .alignleft float: left; marginal: 0 10px 8px 0; .alignright float: right; marginal: 0 0 8px 10px; .aligncenter margin: 10px auto;I
deepblue.css
Lägg till en tunn, ljus gräns mellan varje blogginlägg, en gräns för att separera varje meta listobjekt och ställ in H2 till # 333:.blogpost, .worksearch border-bottom: 1px solid # e8e3c8; h2 a: länk, h2 a: besökte färg: # 333; ul.meta li border-left: 1px solid # e3e8ed;
Sidebar
Sidofältet kommer att se ut som följer och kommer att användas över hela sidan, förutom front- och portföljsidor:
Registrera Sidpanel
För det första måste vi registrera sidfältet widget-området - det här görs på samma sätt som området på hemsidan. Inuti
functions.php
och följande kod inom parentes förom (function_exists ('register_sidebar'))
efter hemsidan array:register_sidebar (array ('name' => 'Sidpanel', 'before_widget' => '',' after_widget '=>' ',' before_title '=>'',' after_title '=>'
',));Med andra ord borde det se ut som följer:
om (function_exists ('register_sidebar')) register_sidebar (array ('name' => 'Hemsida Bottom', 'before_widget' => '',' after_widget '=>'',' before_title '=>'',' after_title '=>'
',)); register_sidebar (array ('name' => 'Sidpanel', 'before_widget' => '',' after_widget '=>' ',' before_title '=>'',' after_title '=>'
',));Visa sidofältet
Gör sedan sidfältet genom att lägga till följande i
sidebar.php
:
Och se till att sidofältet sitter till höger om sidan genom att fastställa bredden i style.css
:
#sidebar float: left; bredd: 220px; #sidebar ul marginal: 0; #sidebar ul li listestil: none; marginal-vänster: 0; marginal-botten: 25px;
Lägg till några widgets i menypanelen i menypanelen och förhandsgranska det:
Lägg till följande stilar i style.css
för att skapa en struktur för varje sidebar-widget:
li h3 font-size: 1.3em; linjehöjd: 1.4em; marginal: 5px 0 5px 0; / * Sidpanelens sökformulär * / #sidebar ul li # search margin-bottom: 25px; .hidden display: none; #sidebar ul li # sökformulär #s padding: 7px 29px 7px 7px; bredd: 182px; #sidebar ul li # sökformulär #searchsubmit display: none; / * Sidfältslistor (t.ex. Meta, Arkiv, Kategorier) * / #sidebar ul li ul vaddering: 15px 5px 15px 8px; #sidebar ul li ul li list-style-position: utanför; marginal: 0 0 5px 20px;
Spara de två bilderna nedan som bullet.gif
och search.png
i din / Stilar / deepblue /
mapp (bilderna nedan har ändrats, men kommer att vara korrekta när de sparas):
Lägg till följande till deepblue.css
. Vi använder de två bilderna på deras respektive element och ställer in bakgrunds- och kantfärger för widgetelement.
#sidebar ul li # sökformulär #s bakgrund: url ("deepblue / search.png") no-repeat right # f6f6ec; gräns: 1px fast # E8E3C8; #sidebar ul li # sökformulär #s: fokus border: 1px solid # dad4b6; #sidebar ul li ul bakgrundsfärg: # f6f6ec; gräns: 1px fast # E8E3C8; #sidebar ul li ul li list-style: url ("deepblue / bullet.gif"); #sidebar ul li a: länk, #sidebar ul li a: besökte färg: # 333;
WordPress använder single.php
fil för att visa ett enda inlägg - dvs. hela posten, där besökare kan skicka kommentarer etc. Men eftersom det finns två olika typer av inlägg som vi visar: Portföljartiklar och blogginlägg, kräver båda sina egna layouter på den enskilda postsidan och så måste vi skilja mellan dem.
Skapa en single.php
fil och lägg till följande kod:
posta; om (in_category ("$ ts_portfolio_cat")) / * Är en portföljartikel * / kräver ('single-portfolio.php'); else / * Är en blogginlägg * / kräver ('single-blog.php'); ?>
Vi använder WordPress ' in_category ()
funktion för att kontrollera om posten som ska visas har tilldelats kategorin Portfolio. Om det är, behöver vi enkel portfolio.php
fil.
Om det inte finns i kategorin Portfölj, då enkel blog.php
är använd.
Idag skapar vi bara enkel blog.php
fil. Den enskilda portföljsidan skapas i nästa del av serien.
- the_category(', ') ?>
- #comments "> comments_number('No Comments', '1 Comment', '% Comments'); ?>
- the_time('F jS') ?>
Du kommer märka att det här ligner mycket på koden vi använde
index.php
, men med några undantag:
- Vi använder
IF (have_posts ())
istället förquery_posts ()
. Det här är standardversionen av WordPress.- Vi har inkluderat kommentarområdet med
comments_template ()
.På din blogg, klicka på ett inlägg och du borde tas till den enskilda posten. Du kan också se att standardkommentarsområdet har inkluderats automatiskt eftersom vi inte har skapat vår egen ännu.
Vi kommer att skapa en anpassad kommentarmall i del fem.
Sammanfattning
Kolla tillbaka imorgon när vi ska skapa våra Portfolio-sidor. (Del 4)