WordPress Beginner tot Master, deel 4

Gedurende deze zesdelige beginners-tot-masterreeks zullen we de geavanceerde functies van WordPress gebruiken om ons eigen portfolio en blog te maken, compleet met een optiespagina, meerdere stijlen en ondersteuning voor de nieuwe WordPress 2.7-functies. Vandaag werken we aan de portfolio zelf.

Vandaag gaan we onze belangrijkste Portfolio-pagina maken, die eigenlijk erg lijkt op het gedeelte 'Nieuwste werk' op de startpagina.
We gaan ook de weergave 'enkele post' maken voor portfolio-items, waar meer details van het item kunnen worden weergegeven.

We eindigen dan met het maken van de 'Default Page Template'. Dit wordt gebruikt op alle andere pagina's waarvoor een normale structuur is vereist, zoals een pagina Over of Contact.


Ook verkrijgbaar in deze serie:

  1. WordPress: Beginner tot Master, deel 1
  2. WordPress: Beginner tot Master, deel 2
  3. WordPress: van beginner tot meester, deel 3
  4. WordPress: Beginner tot Master, deel 4
  5. WordPress: Beginner tot Master, deel 5
  6. WordPress: van beginner tot meester, deel 6

Spring naar een sectie

  • Portefeuille
  • Enkele Portfoliopagina
  •   - De lichtbak
  • Standaard paginasjabloon
  • Samenvatting

Portefeuille

Het portfolio-paginasjabloon lijkt erg op het eerste gedeelte van onze startpagina:


We tonen de nieuwste portfolio-items, die wanneer ze worden geklikt naar hun 'single'-pagina gaan.
Voeg het volgende onder de bestaande code toe in page-portfolio.php:

 

Portefeuille

ID, 'preview', true); $ date = get_post_meta ($ post-> ID, 'date', true); ?>

Je zou het moeten herkennen $ opgeroepen verklaring van de blogpagina - waardoor we de portfolio-items over meerdere pagina's kunnen scheiden. Binnen query_posts () we gebruiken onze paginatievariabele en stellen ook de lus in om alleen berichten uit de categorie Portfolio op te halen (cat = $ ts_portfolio_cat).

En net als de lus op de startpagina bij het ophalen van de twee nieuwste portfolio-items, hebben we de $ teller (zoals we dit opnieuw zullen gebruiken) en onze gevonden portefeuille en datum aangepaste velden met behulp van de get_post_meta () functie.
Volgende:

 ">  "> <?php the_title(); ?>   

"> ($ Date)";?>

De bovenstaande code is exact dezelfde als die we gebruikten op de voorpagina. De $ teller wordt gebruikt om een ​​klasse van toe te voegen laatste naar een ander item (om de items inline te houden).
Als een $ voorvertoning custom-field werd gebruikt, we tonen het - en verwerken het via het TimThumb PHP-script om het formaat van de afbeelding te wijzigen.

  

We hebben de Loop afgesloten met endwhile, voer de paginaknoppen uit met next_posts_link () en previous_posts_link (), en voegde de voettekst toe.

Bewaar en bekijk uw portfoliopagina. Het is nu voltooid en vereist geen extra styling omdat we de stijlen van de startpagina opnieuw gebruiken. Het moet er ongeveer zo uitzien als de afbeelding hieronder als je een paar andere items hebt toegevoegd aan de categorie Portfolio:



Enkele Portfoliopagina

Dit is de lay-out die wordt gebruikt om meer details weer te geven voor elk portfolio-item wanneer erop wordt geklikt (op de 'enkele' pagina); zoals hieronder getoond:


Onthoud dat we in deel 3 wat code hebben gebruikt single.php om verzoeken voor items in de categorie 'Portfolio' naar de single-portfolio.php het dossier.
Hieronder volgt een overzicht van elke sectie voor de pagina:


Binnen single-portfolio.php, begin met het volgende:

 ID, 'preview', true); $ 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, 'link', true); ?>

De header is opgenomen en een normale WordPress Loop is gestart. In de loop halen we de voorvertoning, Preview-full, datum, cliënt en link aangepaste velden voor de post. Een snelle herinnering aan wat elk aangepast veld is voor (uit deel 2):

  • voorvertoning (URL van een afbeelding van 930 px breed van uw werk)
  • Preview-full (grotere versie van het werk, wordt weergegeven in een lightbox)
  • datum (de datum waarop het werk is voltooid)
  • cliënt (voor wie het werk was)
  • link (naar een live versie van je werk)

Vervolgens nemen we de titel op met de titel(), en als a $ voorvertoning afbeelding van de aangepaste velden bestaat, wordt de afbeelding geparseerd via het TimThumb-script om ervoor te zorgen dat de afbeelding 930 px breed is en naar de pagina wordt uitgevoerd - ingepakt in een koppeling naar de $ previewfull afbeelding als het bestaat:

 

"> <?php the_title(); ?>

Onder de afbeelding zijn de metadata voor het item (met de datum, cliënt en link velden):

 if ($ date || $ client || $ link) echo '
    '; if ($ date) echo "
  • $ date
  • "; if ($ client) echo"
  • $ client
  • "; if ($ link) echo"
  • Bezoek Site
  • "; echo '
';

Op de eerste regel hebben we gecontroleerd of ten minste een van de drie velden iets bevat - het gebruik van  ||  betekent 'OF'.
Daarbinnen wordt elk veld afzonderlijk gecontroleerd en wordt het uitgevoerd als het iets bevat.

Tenslotte, de inhoud() wordt gebruikt om de hoofdinhoud uit te voeren, de lus is gesloten en de voettekst is opgenomen:

 de inhoud(); ?> 

Bekijk een voorvertoning van het thema, alles ziet er goed uit, behalve de voorbeeldafbeelding, waar we nog steeds de Lightbox moeten integreren.

De lichtbak

De FancyBox jQuery Lightbox wordt gebruikt om een ​​grotere preview van de portfolio-afbeelding weer te geven:


Download de bestanden en laat de / Fancybox / map in de / Inc / themamap.
Maak ook een nieuw bestand in / Inc / genaamd animate.js.

Binnen header.php voeg het volgende toe tussen en :

    

Eerst het CSS-bestand van FancyBox (/inc/fancybox/fancy.css) inbegrepen. De nieuwste jQuery-bibliotheek (v1.3.1) is opgenomen in Google Code, gevolgd door het JavaScript-bestand van FancyBox en de /inc/animate.js het dossier.

De jQuery-bibliotheek wordt geladen met Google Code om de laadtijden te verminderen, omdat de bezoeker mogelijk al een site heeft bezocht die ook de bibliotheek gebruikt die wordt gehost op de servers van Google, en dus wordt het bestand in de cache opgeslagen. Het is een klein verschil, maar je kunt de jQuery-bibliotheek altijd in je opslaan / Inc / map en verwijs daarnaar als je dat liever hebt.

Ten slotte moeten we FancyBox eenvoudig vertellen op welke koppelingen het zich moet toepassen. Voeg het volgende toe aan /inc/animate.js:

 $ (document) .ready (function () $ ("# fancyopen a"). fancybox ('hideOnContentClick': true, 'overlayShow': true););

Als u niet bekend bent met jQuery, hebben we verwezen naar de fancybox () functie op alle objecten op #fancyopen a (links binnen div's met een ID van fancyopen). We hebben ook een aantal opties doorlopen: hideOnContentClick sluit de afbeelding wanneer erop wordt geklikt, en overlayShow 'verdonkert' de achtergrond wanneer de lightbox actief is.
Zie voor meer FancyBox-parameters het gedeelte 'Hoe te gebruiken' hier.

Tip: Wilt u meer weten over jQuery? Zie Jeffrey's fantastische "jQuery for Absolute Beginners" screencast-serie op de ThemeForest Blog.

Vernieuw je portfolio en probeer de lightbox eruit.



Standaard paginasjabloon

We hebben onze sjablonen voor thuis- en portfoliapagina's gemaakt, maar we hebben nog geen 'standaard'-sjabloon gemaakt die voor andere pagina's wordt gebruikt (bijv. Over of Contact met ons opnemen).


Voeg deze paar regels toe aan het einde van de bestaande code in page.php:

 

Een eenvoudige WordPress-lus die de titel en inhoud uitvoert. Eenvoudig.


Samenvatting

Kom morgen terug wanneer we onze commentaarlay-out gaan maken (en gebruik maken van de nieuwe 'threaded comments'-functies van WordPress 2.7!) (Deel 5 van onze serie.)