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 arbetar vi på portföljen själv.
Idag ska vi skapa vår huvudsakliga portföljsida, som i själva verket ligner på "Senaste arbetet" på hemsidan.
Vi ska också skapa "single post" -vyn för portföljartiklar, där mer detaljer om objektet kan visas.
Sedan avslutar vi oss genom att skapa 'Default Page Template'. Detta kommer att användas på alla andra sidor som kräver en normal struktur - t.ex. en Om eller Kontakt sida.
Sidans mall för portföljen är mycket lik den första delen av vår hemsida:
Vi visar de senaste portföljartiklarna, som när de klickas går till deras "enkla" sida.
Lägg till följande under befintlig kod i page-portfolio.php
:
Portfölj
ID, förhandsvisning, sant); $ date = get_post_meta ($ post-> ID, 'date', true); ?>
Du bör känna igen $ sökt
uttalande från bloggsidan - så att vi kan skilja portföljartiklarna utöver flera sidor. Inuti query_posts ()
vi använder vår paginationsvariabel och anger också slingan för att hämta endast inlägg från kategorin Portfölj (cat = $ ts_portfolio_cat
).
Och precis som slingan på hemsidan när vi hämtar de två senaste portföljartiklarna har vi ökat $ räknare
(som vi kommer att använda det igen) och hämtade vår portfölj
och datum
anpassade fält med hjälp av get_post_meta ()
fungera.
Nästa:
"> "> "> ($ Datum)";?>
Ovanstående kod är exakt samma som vi använde på framsidan. De $ räknare
används för att lägga till en klass av sista
till varandras föremål (för att hålla objekten inline).
Om en $ förhandsvisning
anpassat fält användes, vi visar det - och bearbetar det via TimThumb PHP-skriptet för att ändra storlek på bilden.
Vi har stängt av Loop med EndWhile
, mata ut pagineringsknapparna med next_posts_link ()
och previous_posts_link ()
, och inkluderade sidfoten.
Spara och förhandsgranska din portföljsida. Det är nu komplett och kräver ingen extra styling eftersom vi återanvändar stilar från hemsidan. Det ska se ungefär som bilden nedan när du har några andra objekt till kategorin Portfölj:
Det här är layouten som används för att visa mer information för varje portföljartikel när den klickas på (på sin enda sida). enligt nedanstående:
Kom ihåg att i del 3 använde vi någon kod i single.php
att rikta alla förfrågningar om objekt i kategorin "Portfölj" till enkel portfolio.php
fil.
Nedan följer en översikt av varje avsnitt för sidan:
Inuti enkel portfolio.php
, börja med följande:
ID, förhandsvisning, sant); $ previewfull = get_post_meta ($ post-> ID, 'preview-full', true); $ date = get_post_meta ($ post-> ID, 'date', true); $ client = get_post_meta ($ post-> ID, 'client', true); $ link = get_post_meta ($ post-> ID, 'länk', true); ?>
Rubriken har inkluderats, och en normal WordPress Loop startas. Inuti slingan hämtar vi förhandsvisning
, förhandsvisning full
, datum
, klient
och länk
anpassade fält för posten. En snabb påminnelse om vad varje anpassningsfält är för (från del 2):
förhandsvisning
(URL på en 930px breddsbild av ditt jobb) förhandsvisning full
(större version av arbetet, kommer att visas i en lightbox) datum
(det datum då arbetet slutfördes) klient
(vem arbetet var för) länk
(till en levande version av ditt arbete) Nästa inkluderar vi titeln med titeln()
, och om a $ förhandsvisning
bild från de anpassade fälten existerar, bilden analyseras genom TimThumb-skriptet för att säkerställa att den är 930px bred och utdata till sidan - inslagen i en länk till $ previewfull
bild om den existerar:
">Nedan är bilden metadata för föremålet (innehållande
datum
,klient
ochlänk
fält):om ($ date || $ client || $ länk) echo ''; om ($ date) echo "
';- $ datum
"; om ($ klient) echo"- $ klient
"; om ($ länk) echo"- Besök sida
"; echo"På första raden kontrollerade vi om minst en av de tre fälten innehåller något - användningen av
||
betyder "ELLER".
Inuti är varje fält kontrollerat individuellt och utmatas om det innehåller något.Till sist,
innehållet()
används för att mata ut huvudinnehållet, slingan är stängd och sidfoten ingår:innehållet(); ?>
Förhandsgranska temat, allt ska se bra ut - förutom förhandsgranskningsbilden, där vi fortfarande behöver infoga ljuset.
FancyBox jQuery Lightbox kommer att användas för att visa en större förhandsvisning av portföljbilden:
Hämta filerna och släpp den /snygg låda/
mapp i / Inc /
temmapp.
Skapa också en ny fil i / Inc /
som heter animate.js
.
Inuti header.php
lägg till följande mellan och
:
Först, FancyBox CSS-fil (/inc/fancybox/fancy.css
) ingår. Det senaste jQuery-biblioteket (v1.3.1) ingår från Google Code, följt av FancyBox javascript-fil och /inc/animate.js
fil.
Biblioteket jQuery laddas från Google Code för att minska belastningstiden, eftersom besökaren kanske redan har besökt en webbplats med hjälp av biblioteket som finns på Googles servrar, så filen blir cachad. Det är en liten skillnad, men du kan alltid spara jQuery-biblioteket i din / Inc /
mapp och referera det därifrån om du föredrar det.
Slutligen behöver vi helt enkelt berätta för FancyBox vilka länkar den ska söka sig till. Lägg till följande till /inc/animate.js
:
$ (dokument) .ready (funktion () $ ("# fancyopen a"). fancybox ('hideOnContentClick': true, 'overlayShow': true););
Om du inte är bekant med jQuery har vi refererat till snygg låda()
funktion på några föremål på #fancyopen a
(länkar inuti div med ett ID för fancyopen). Vi har också gått igenom ett par alternativ: hideOnContentClick
stänger bilden när den klickas på och overlayShow
"mörknar" bakgrunden när ljusboxen är aktiv.
För mer FancyBox-parametrar, se avsnittet "Användning" här.
Tips: Vill du lära dig mer om jQuery? Se Jeffreys fantastiska "jQuery for Absolute Beginners" -screenshot-serie på ThemeForest Blog.
Uppdatera din portfölj och försök ljusboxen.
Vi har skapat vår mall för hem och portfölj, men vi har ännu inte skapat en standardmall som kommer att användas för andra sidor (t.ex. Om eller Kontakta oss).
Lägg till dessa få rader till slutet av den befintliga koden i page.php
:
En grundläggande WordPress-loop utmatar titeln och innehållet. Enkel.
Sammanfattning
Kolla tillbaka imorgon när vi ska skapa vårt kommentarer layout (och dra nytta av WordPress 2.7: s nya "threaded comments" -funktioner!) (Del 5 i vår serie.)