In primele articole ale acestui tutorial am vorbit despre cum functioneaza temele, modul in care putem creare fisierul de stilizare si introducerea unui antet in cadrul acestui fisier prin intermediul caruia transmitem informatiile despre tema pe care dorim sa o cream. De asemenea am vorbit despre fisierele sablon pentru antet, subsol si bara laterala si despre cum sa introducem functionalitati noi site-ului cu ajutorul fisierului functions.php. In continuare vom prezenta cum personalizam celelalte fisiere, respectiv cele de continut, prin intermediul carora se va introduce continutul paginilor si cum functioneaza acestea. Pentru a introduce continut paginilor vom utiliza urmatoarea schema:

Utilizarea functiilor pentru sabloanele antetului si a subsolului paginilor
In fisierele de sablon prezentate am observat ca acestea contin anumite functii implicite WordPress prin intermediul carora se specifica tipul de continut pe care acestea il furnizeaza. Astfel, in fisierul header spre exemplu utilizam functia wp_header(), in fisierul footer utilizam functia de pe wp_footer() si tot asa. Numele fisierelor am putea spune ca sunt si ele sugestive si transmit informatii utile WordPress-ului despre tipul lor. Insa este obligatoriu sa introducem si aceste functii. Putem intalni desigur situatii in care unui dezvoltator ii este necesar sa creeze mai multe modele de antete sau de subsoluri pentru pagini. Acest lucru va genera denumiri diferite pentru fiecare fisier in parte. Dar prin intermediul functiilor mentionate mai sus se poate sa stabilim mai clar scopul acestora in fisierele de continut.
Introducerea fisierelor de continut
In fisierele de continut, WordPress foloseste doua tipuri de metode pentru personalizarea paginilor. Prima metoda de continut consta in adaugarea, dupa caz a sabloanelor necesare, iar a doua consta in utilizarea unei bucle (while) care va cauta in baza de date atribuita site-ului toate postarile specifice paginii si le va afisa.
Asadar indiferent ca este vorba de o pagina statica, de o pagina de arhiva a postarilor sau pur si simplu de o pagina pentru afisarea unei singure postari, vom folosi aceasta schema introducand introducand functia de invocare a sablonului. pentru antet. Vom introduce in partea de sus a paginii functia get_header() iar pentru adaugarea subsolului in partea de jos a paginii punem functia get_footer(). In centrul paginii vom crea cate o bucla pentru afisarea continutului iar daca dorim sa afisam si o bara laterala o vom pune inainte sau dupa bucla respectiva, in functie de pozitionarea acesteia in pagina (in stanga sau in dreapta).
In cadrul acestui bucle puteti personaliza paginile incadrand fiecare functie implicita WordPress pentru postari în taguri, respectiv div-uri html. Codurile de stilizare pentru acest taguri il veti adauga in fisierul style.css pe care l-am creat sau in alte fisiere CSS create pe care va trebui sa le invocati in antet dupa cum sa aratat in articolul anterior.
Personalizarea fisierelor
Acum putem incepe personalizarea a celor mai importante fisiere de continut. Primul dintre ele este fisierul index.php. Aceasta trebuie creat obligatoriu deoarece este fisierul principal pe care vor WordPress il foloseste pentru a afisa din baza de date continutul existent pentru fiecare tip de pagina, atunci cand nu am creat un alt fisier specific care sa faca acest lucru. Spre exemplu daca nu avem un fisier pentru pagina prin intermediul caruia se afiseaza o singura postare, respectiv single.php, WordPress va genera cautarile postarilor existente prin intermediul fisierului index.php, si tot asa.
Codul pe care va trebui sa-l introducem in fisierul index.php este urmatorul:
<?php
get_header();
if ( have_posts() ) :
while ( have_posts() ) : the_post();
the_content();
endwhile;
else :
_e( 'Sorry, no posts matched your criteria.', 'textdomain' );
endif;
get_sidebar();
get_footer();
?>
De asemenea mentionam ca functia care invoca bara laterala poate fi adaugata inainte sau dupa bucla prin intermediul caruia se cauta postarile spre a fi afisate.
In setarile din panoul de control WordPress observam ca putem opta pentru tipul de continut pe care pagina principala poate sa il aiba. Aceasta poate fi statica sau de blog. Daca optam pentru o pagina statica WordPress va utiliza implicit fisierul index.php creat anterior. Daca optam ca prima pagina sa contina o arhiva de postari, un blog, va trebui sa cream o noua pagina intitulata home.php. Continutul este de altfel similar cu cel al paginilor de arhiva postari, respectiv arhive.php, pe care il utilizam pentru afisarea tuturor postarilor din blog, atunci cand acestea nu apar pe prima pagina. Codul ce trebuie introdus in fisierele home.php si archive.php este urmatorul:
<?php
get_header();
if ( have_posts() ) :
while ( have_posts() ) : the_post();
the_title( '<h2>', '</h2>' );
the_post_thumbnail();
the_excerpt();
endwhile;
else:
_e( 'Nu au fost gasite rezutate.', 'textdomain' );
endif;
get_sidebar();
get_footer();
?>
Observam ca in codul introdus in cadrul postarilor se solicita introducerea titlului postarii (utilizand functia the_title()), imaginea de coperta a postarii (prin intermediul functiei the_post_thumbnail()) si continutul acestuia (am utilizat functia the_excerpt()). Pentru a personaliza paginile de postari ne putem folosi de alte functii implicite WordPress pe care le putem adauga in orice ordine dorim ca acesta sa apara in pagina, cum ar fi:
next_post_link()– un link catre postarea publicata cronologic dupa postarea curenta
previous_post_link()– un link catre postarea publicata cronologic inainte de postarea curenta
the_category()– categoria sau categoriile asociate postarii sau paginii care este vizualizata
the_author()– autorul postarii
the_content()– continutul principal
the_excerpt()– primele 55 de cuvinte din continutul principal al unei postari, urmate de “…”
the_ID()– ID-ul postarii
the_meta()– aici puteti adauga campurile personalizate create , utlizand name-ul lor intre paranteze folosind ghilimelele
the_tags()– etichetele postarii
the_title()– titlul postarii
the_time()– ora sau data postarii sau paginii.
In continuare putem crea pagina pentru afisarea unei singure postari, respectiv single.php.
<?php
get_header();
if ( have_posts() ) :
while ( have_posts() ) : the_post();
the_title( '<h1>', '</h1>' );
the_content();
endwhile;
else:
_e( 'Nu au fost gasite rezultate.', 'textdomain' );
endif;
get_sidebar();
get_footer();
?>
Integrare fisiere pentru template-uri
De altfel putem creea noi functii conditionale prin care putem personaliza afisare acestor rezultate in functie de pagina in care acestea se afla. In continuare putem crea fisiere personalizate urmand urmatoarele principii:
- Crearea unor pe pagini specifice – daca doriti sa creati direct din cod o anumita pagina fara ca aceasta sa mai fie nevoie sa treaca prin index.php vom utiliza sintagma numefisier-numepagina.php. De exemplu, daca dorim sa cream o pagina care sa afiseze anumite postari personalizate create de noi, ce au ca tematica “automobilele”, vom crea un fisier arhive-automobile..php iar in el vom adauga si personaliza codul dupa cum s-a aratat mai sus.
- Crearea unor tempate-uri. Putem utiliza template-urile create prin atribuirea acestor din meniul de editare pagini WordPress, alegand din rubrica “sablon” template-ul nostru personalizat. Pentru a crea un template, va trebui sa cream un fisier php, pe care putem sa il denumim cum vrem noi, dar sa fie un nume sugestiv, spre exemplu automobile.php. In cadrul acestui fisier, inainte de a introduce continutul, va fi nevoie sa inseram un antet pentru template-uri dupa cum urmeaza:
<?php
/**
* Template Name: (aici introduci numele template-ului)
*/
//aici urmeaza sa introduci codul continutului paginii
?>
Pentru continuarea tutorialului, click aici.