Professional Documents
Culture Documents
Lectia 1.
1. Creezi un folder pe care-l denumesti tutorial in htdocs/wordpress/themes
2. In folderul tutorial creezi fisierele index.php si style.css cu ajutorul unui editor de text
3. In index.php copiezi :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head profile="http://gmpg.org/xfn/11">
<title><?php bloginfo('name'); ?><?php wp_title(); ?></title>
<meta http-equiv="Content-Type" content="<?php bloginfo('html_type'); ?>;
charset=<?php bloginfo('charset'); ?>" />
<meta name="generator" content="WordPress <?php bloginfo('version'); ?>" />
<!-- leave this for stats please -->
<link rel="stylesheet" href="<?php bloginfo('stylesheet_url'); ?>"
type="text/css" media="screen" />
<link rel="alternate" type="application/rss+xml" title="RSS 2.0" href="<?php
bloginfo('rss2_url'); ?>" />
<link rel="alternate" type="text/xml" title="RSS .92" href="<?php
bloginfo('rss_url'); ?>" />
<link rel="alternate" type="application/atom+xml" title="Atom 0.3" href="<?php
bloginfo('atom_url'); ?>" />
<link rel="pingback" href="<?php bloginfo('pingback_url'); ?>" />
<?php wp_get_archives('type=monthly&format=link'); ?>
<?php //comments_popup_script(); // off by default ?>
<?php wp_head(); ?>
</head>
<body>
</body>
</html>
4. Salvezi fisierul cu numele index.php
5. Fisierul style.css ramane pana una alta gol.
Explicatii in legatura cu fiserul index.php
<?php bloginfo('stylesheet_url'); ?> - este o functie PHP care invoca locatia lui style.css in
fiecare pagina a site-ului.
6. Copiezi in style.css urmatorul fisier:
1
/*
Theme Name: Tutorial
Theme URI: http://www.wpdesigner.com
Description: This is my theme for a tutorial.
Version: 1.0
Author: Small Potato
Author URI: http://www.wpdesigner.com/
*/
7.Salvezi fisierul cu numele style.css si il inchizi
Setarea temei
Deschizi un browser in care scrii http://localhost/wordpress/wp-login.php. Mergi in zona de
administrare unde activezi tema tutorial. Tine minte ca nu ai niciun thumbnail, deci ceea ce se
deschide este o pagina complet goala. Tema a fost setata.
Lectia numarul 3
Buclele invoca intrarile site-ului tau. Este cel mai important set de cod PHP. Deschizi fisierul
index.php si adaugi o eticheta DIV sub zona header. Dai numele container pentru id:
<div id=container>
</div>
Va veti intreba pentru ce este acest DIV? El este pentru a separa continutul site-ului de orice altceva
3
nu este. Daca privesti codul sursa ai doar un singur id=header si un singur id=container dar
Lectia numarul 5
Postmetadata
Astazi vom vorbi despre date, categorii, autor, numarul comentariilor si diverse alte informatii
specifice postarilor.
Deschidem index.php.
Paul 1. Copiem codul postmetadata.txt (aflat pe site-ul lui small potato la lectia postmetadata)
sub <?php the_content(); ?> (Pentru aceasta parte doar copiezi. Cand am pus temele Wordpress
impreuna, am copiat de asemenea si aceasta parte. Nu este inca nevoie sa intelegi totul. )
<p class="postmetadata">
<?php _e('Filed under:'); ?> <?php the_category(', ') ?> <?php _e('by'); ?> <?php
the_author(); ?><br />
<?php comments_popup_link('No Comments »', '1 Comment »', '%
Comments »'); ?> <?php edit_post_link('Edit', ' | ', ''); ?>
</p>
Acest screen-shot a fost impartit. Acorda atentie organizarii si amplasarii codului postmetadata. Nu
taia codul la 1Comment # ca mai jos:
<div class=entry>
<?php the_content(); ?>
<p class = postmetadata>
<?php_e('Filed under:'); ?><?php the_category(',') ?><?php
<?php comments_popup_link('No Comments» ',' 1Comment&#
</p>
</div>
Salveaza si da refresh in browser si vei vedea schimbarile. Te poti uita si in codul sursa al paginii ca
sa vezi cum arata postmetadata.
Explicatii:
<p class=postmetadata> si </p> - toate aceste informatii postmetadata stau intre un set de
paragrafe numite class=postmetadata pentru ca vrem sa separam postmetadata de continut si
intrarile postarilor. Fara tagurile de paragraf <p>, metadatele continua acolo unde ai terminat
continutul fara spatii si diferente intre continut si postmetadata.
<?php_e('Filed under :'); ?> - &#58; este codul pentru invocarea a doua puncte (:).
<?php the_category(','); ?> - the_category() este o functie PHP care invoca categoriile cu care
etichetezi postarile. Daca pui Filed under: si the_category() impreuna vei avea: Numele categoriei
1, numele categoriei 2; virgula inauntrul categoriei the_category() este o cale de separare a numelor
categoriilor.
<?php_e('by'); ?> - la fel ca Filed under: daca creezi o tema de uz personal, inconjoara _e( ) in
jurul cuvantului by daca este necesar. _e( ) face asta ca sa poti crea teme translatabile, un lucru
f. important atunci cand creezi teme folosite de oameni de pe tot globul.
<?php the_author(); ?> - printeaza (arata) numele tau sau cine publica postarea
7
<?php comments_popup_link('No Comments» ',' % Comments»'); ?> invoca o fereastra pop-up , atunci cand este activata
<?php edit_post_link('Edit',|',);?> - este vizibil doar cand te loghezi ca administrator
Lectia numarul 6
Else, Post ID si Link title sunt cele trei optiuni pe care le poti adauga la fiecare postare. Ele sunt
optionale.
Pasul 1. Scrii urmatorul cod sub <?php endwhile; ?> :
<?php else : ?>
<div class=post>
<h2><?php_e('Not Found'); ?></h2>
</div>
Salvezi dar nu vei vedea nicio diferenta.
Explicatii:
Ne intoarcem la lectia Bucla (the loop) ca sa intelegem ce se intampla.
Aici avem bucla:
<?php if(have_posts()):?><?php while(have_posts()): the_post(); ?>
<?php endwhile; ?>
<?php endif; ?>
Prima data, if(have_posts()) verifica daca ai vreun post pe blog. Al doilea, while(have_posts())
executa the_post() care invoca postarile tale. Else este ceea ce trebuie sa scrii atunci cand nu ai
alte alternative. Imagineaza-ti while() si endwhile; cuibarite intre if () si else: . Din acest motiv
<?php else :?> vine dupa <?php endwhile; ?>
Acuma sa aflam ce este else, ce ii spune lui WP sa faca atunci cand nu exista nicio postare sau nu
gaseste vreuna. Ii spui lui WP sa arate un mesaj de eroare NOT FOUND. Acest mesaj poate fi orice.
Uita-te la fisierul index.php de mai sus spre exemplu. In acest exemplu, mesajul Not Found sta
inauntrul linie de cod <?php_e(' '); ?>.
Mai departe, intreg mesajul si codul Not found este inconjurat de tagurile <h2> si </h2>. Nu sunt
neaparat necesare. Poti sa scrii pur si simplu:
<div class=post>
Not Found
</div>
Dar folosind tagurile <h2> pentru mesajul de eroare este evident pentru vizitatori ca nu exista nimic
pe acea pagina.
Pasul 2.
Adauga id=post-<?php the_ID(); ?> la <div class=post>,
adica vei avea:
<div class=post id=post - <?php the_ID(); ?>>
Salvezi index.php si dai refresh in browser. Mergi la sursa paginii si vei vedea ca fiecare postare
are un id atasat. the_ID( ) invoca id-ul fiecarei postari. Il folosim ca sa customizeze imaginea
fiecarei postari in parte. Mai tarziu, cand vom folosi style.css vom spune temei ca fiecare post sa
8
arate la fel. Cu un ID unic atasat fiecarei postari poti face ca ea sa arate diferit de celelalte. Fara IDuri nu va exista nicio diferenta in interiorul style.css.
Cum poti atribui ambele valori class si id aceluiasi DIV ? DIV este un tag, class este un atribut si id
este tot atribut. Fiecare tag (eticheta) poate avea mai multe atribute. (id este un atribut xhtml.
the_ID() este o functie PHP. Ele sunt diferite!!).
Pasul 3.
Adauga title=<?php the_title(); ?> linkului titlu al postarii, adica:
<h2><a href=<?php the_permalink(); ?>title=<?php the_title(); ?>></a></h2>
Salveaza si da refresh in browser. Mergi din nou la codul sursa si uita-te dupa orice post title link.
Daca el este Hello World, atunci la stanga el ar trebui sa fie title=Hello World.
Title= este un alt atribut xhtml pentru tagul (link) <a>. In acest caz titlul fiecarei postari este de
asemenea linkul descrierii. Este motivul pentru care utilizam din nou functia PHP the_title().
Daca nu folosesti functia the_title() ca o valoare pentru title= , atunci fiecare titlu link al
postarilor vor avea aceiasi descriere. De exemplu, daca in loc de the_title() folosesti title= ,
fiecare postare va avea ca descriere Click me.
Lectia numarul 7
In josul fiecarui blog WP exista Next Page sau Previous Pagelink. Poti invoca aceste linkuri
folosind posts_nav_link() din sistemul de sabloane WP.
Deschidem index.php.
Pasul 1.
Adaugam urmatorul cod intre <?php endwhile; ?> si <?php else : ?> astfel ca vom avea:
<?php endwhile; ?>
<div class=navigation>
<?php posts_nav_link(); ?>
</div>
<?php else : ?>
Explicatii
<div class=navigation> porneste o cutie invizibila numita navigare si care inconjoara zona de
linkuri Next si Previous.
post_nav_link invoca linkurile Next si Previous
</div> - inchide cutia invizibila numita navigare (navigation)
Salvam fisierul index.php si apoi dam refresh in browser sa vedem linkurile Next si Previous.
Implicit daca nu este decat un post, nu va aparea nimic.
Cum imbunatatim functia php posts_nav_link() : ? La fel ca la postmetadata poti sa-i dai acestei
functii un set de trei valori care poate fi orice doresti sa fie afisat intre, dupa si inainte de Next si
Previous. Va arata cam asa:
<?php posts_nav_link('in between', 'before', 'after'); ?>
Sidebar-ul
Pentru inceput, sidebar-ul arata destul de infricosator, dar nu este deloc asa. Odata ce i-ai inteles si
utilizat structura, esti gata sa-l codifici foarte repede. Inainte de a incepe, sa revedem index.php:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
9
<html xmlns="http://www.w3.org/1999/xhtml">
<head profile="http://gmpg.org/xfn/11">
<title><?php bloginfo('name'); ?><?php wp_title(); ?></title>
<meta http-equiv="Content-Type" content="<?php bloginfo('html_type'); ?>;
charset=<?php bloginfo('charset'); ?>" />
<meta name="generator" content="WordPress <?php bloginfo('version'); ?>" />
<!-- leave this for stats please -->
<link rel="stylesheet" href="<?php bloginfo('stylesheet_url'); ?>"
type="text/css" media="screen" />
<link rel="alternate" type="application/rss+xml" title="RSS 2.0" href="<?php
bloginfo('rss2_url'); ?>" />
<link rel="alternate" type="text/xml" title="RSS .92" href="<?php
bloginfo('rss_url'); ?>" />
<link rel="alternate" type="application/atom+xml" title="Atom 0.3" href="<?php
bloginfo('atom_url'); ?>" />
<link rel="pingback" href="<?php bloginfo('pingback_url'); ?>" />
<?php wp_get_archives('type=monthly&format=link'); ?>
<?php //comments_popup_script(); // off by default ?>
<?php wp_head(); ?>
</head>
<body>
<div id="header">
<h1><a href="<?php bloginfo('url'); ?>"><?php bloginfo('name'); ?></a></h1>
<?php bloginfo('description'); ?>
</div>
<div id="container">
<?php if(have_posts()) : ?><?php while(have_posts()) : the_post(); ?>
<div class="post" id="post-<?php the_ID(); ?>">
<h2><a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><?
php the_title(); ?></a></h2>
<div class="entry">
<?php the_content(); ?>
<p class="postmetadata">
<?php _e('Filed under:'); ?> <?php the_category(', ') ?> <?php _e('by'); ?> <?php
the_author(); ?><br />
<?php comments_popup_link('No Comments »', '1 Comment »', '%
Comments »'); ?> <?php edit_post_link('Edit', ' | ', ''); ?>
</p>
10
</div>
</div>
<?php endwhile; ?>
<div class="navigation">
<?php posts_nav_link(); ?>
</div>
<?php else : ?>
<div class="post">
<h2><?php _e('Not Found'); ?></h2>
</div>
<?php endif; ?>
</div>
</body>
</html>
Pasul 1
Scriem urmatorul cod sub container, in apropiere de tagul </body>:
<div class=sidebar>
</div>
adica va rezulta:
</div>
(inchide tagul container)
</div class=sidebar>
</div>
</body>
</html>
Pasul 2
Deschidem o lista neordonata in cutia sidebar:
<ul> - deschide o lista neordonata
</ul> - inchide o lista neordonata
Prin urmare vom avea urmatorul segment de cod:
<div class=sidebar>
<ul>
</ul>
</div>
Pasul 3
Adaugam o lista de itemi (LI) inauntrul listei neordonate (UL) si punem un sub-heading (h2)
inauntrul listei de itemi (LI) :
<ul>
<li> <h2> <?php_e('Categories'); ?> </h2>
</li>
</ul>
11
Explicatii:
<li> - deschide lista de itemi
<h2> - deschide sub-heading
<?php_e('Categories'); ?> - afiseaza cuvantul Categories
</h2> - inchide sub- heading
</li> - inchide lista de itemi
Salveaza index.php si da refresh in browser. Ar trebui sa vezi sub-headingul Categories.
Pasul 4
Adauga urmatorul cod in lista itemilor:
<ul>
<li> <h2> <?php_e('Categories'); ?></h2>
</ul>
<?php wp_list_cats('sort_column=name&optioncount=1&hierarchical=0'); ?>
</ul>
</li>
</ul>
Explicatii:
<?php wp_list_cats(); ?> - invoca lista de linkuri ale categoriilor
Salveaza si da refresh.
Categoria ta implicita este Uncategorized.
Alte explicatii:
sort_column=name lista alfabetica a categoriilor
optioncount=1 arata numarul de postari din fiecare categorieshierarchical=0 nu adauga
subcategorii
& - de fiecare data cand adaugi un nou atribut trebuie sa scrii semnul & inainte de a-l separa de alte
atribute. Spre exemplu & sta intre sort_column si optioncount.
Cand ne raportam la sidebar, liste neorodonate si itemi, trebuie sa tinem cont de regula care spune
ca trebuie sa inchidem toate tagurile in ordinea in care le-am deschis.
Lectia numarul 8
Vom continua sa lucram cu Sidebar. Sa vedem cum putem adauga widget-uri in Sidebar.
Pasul 1
Adaugam urmatorul cod in varful (top) blocului Categories:
<?php wp_list_pages(); ?> adica va rezulta:
<ul>
<?php wp_list_pages(); ?>
<li><h2><?php_e('Categories'); ?></h2>
<ul>
<?php wp_list_cats('---=----</ul>
12
</li>
</ul>
Implicit, ai doar o singura pagina link. Eu am adaugat mai multe pagini si pagini-copil blogului
meu offline. Din acesta cauza am pastrat nivelurile la page linkuri. In screen-shot-ul alaturat, Pages
title pentru lista nu se potriveste cu dimensiunea Categories title din lista categories-link. Ca sa o
potrivesc adaug 'title_li=<h2>Pages</h2>' la wp_list_pages().
Voi avea:
<?php wp_list_pages('title_li=<h2>Pages</h2>'); ?>
Salvam si dam refresh sa vedem schimbarile.
title_li este un atribut folosit la imbunatatirea aspectului listei de Page-link.
Imbunatatiri
In exemplul meu am patru niveluri de Page link-uri. Unele sabloane nu pot manipula atat de multe
niveluri de link-uri in sidebar. Ca sa limitam numarul de link-uri in lista, adaugam atributul depth
la wp_list_pages() si il setam la 3. Astfel, va rezulta urmatorul segment de cod:
<?php wp_list_pages('depth=3&title_li=<h2>Pages</h2>'); ?>
Semnul & este aici ca sa separe depth de title_li.
Lectia numarul 9
Pasul 1
Adaugarea linkului arhiva
Scriem urmatorul cod in zona Sidebar, sub lista Categories:
<li><h2><?php _e('Archives'); ?></h2>
<ul>
<?php wp_get_archives('type=monthly');?>
</ul>
</li>
Salvam fisierul index.php si dam refresh in browser.
Explicatii:
Utilizam functia PHP wp_get_archives() cu atributul type si valoarea monthly pentru a invoca
link-ul de arhiva lunara.
Pasul 2
Adaugam link-ul blogroll:
Scriem urmatorul cod sub lista de linkuri Archives:
<?php get_links_list(); ?>
adica vom avea:
<li><h2><?php _e('Archives'); ?></h2>
<ul>
<?php wp_get_archives('type=monthly'); ?>---</ul>
</li>
<?php get_links_list(); ?>
Salvam si dam refresh.
13
Lectia numarul 10
16
Codul hexadecimal
precedat de semnul diez (#) fiecare cod de culori are sase numere. Acestea merg de la #ffffff
(alb) pana la #oooooo (negru).
Pasul 1 Scrie urmatorul cod sub selectorul body{ } :
a : link, a : visited {
text-decoration: underline;
color: #336699;
}
Ce iseamna asta? Te asiguri ca toate linkurile sunt subliniate (text-decoration: underline;) si
albastre (color: #336699;)
a: link este pentru stilizarea linkului; cand transformi un cuvant in link folosesti taguriele <a> si
</a> deci A in a: link
a: visited este pentru stilizarea linkurilor apsate, deci visted este a: visited
Pasul 2 Scrie urmatorul cod sub a: link, a:visited} :
a: hover {
text-decoration: none;
}
Acest lucru te asigura ca linkul subliniat dispare cand treci peste el. Daca vrei ca linkul sa apara
colorat scrii:
a: hover {
text-decoration: none;
color: #ffoooo;
}
adresezi un DIV cu o clasa. Pentru o clasa de exemplu, daca codul este <div class=wrapper>
atunci folosesti .wrapper in loc de #wrapper DIV.
Salveaza-le pe ambele, index.php si style.css. Da refresh in ambele browsere.
Pasul 2
Mergi in style.css si schimba text-align: left; inauntrul lui body{} cu text-align:center;
Pasul 3
Fa headerul la stanga cu o latime de 750 pixeli astfel:
#header {
float: left;
width:750px;
}
Pasul 4
Fa containerul la stanga cu o latime de 500px:
#container{
float: left;
width: 500px;
}
Pasul 5
Fa sidebarul la stanga cu o latime de 240px pe fundal gri:
.sidebar{
float: left;
width: 240px;
background: #eeeeee;
}
(Tine minte ca nu am folosit semnul # pentru adresa DIV-ului sidebar ci un punct . )
Pasul 6
Fa footer-ul la stanga de 750 pixeli latime:
#footer{
clear: both;
float: left;
width: 750px;
}
Care e diferenta dintre stilizarea header si footer? Raspunsul este prezenta lui clear: both; in
footer{}. Acesta este pentru a fi siguri ca footer nu are nimic pe langa el precum sidebar sau
container.
Slaveaza style.css si da refresh.
Pasul 7
Adauga cei 10 pixeli ramasi la sidebar folosind marginea. Codul sidebar style va arata asa:
19
.sidebar{
float: left;
width: 240px;
background: #eeeeee;
margin: 0 0 0 10px;
}
Specificare: margin:0 0 0 10px; inseamna 0 top, 0 right, 0 bottom si 10-x left.
Pasul 8
Acest pas este in cazul in care pui o margine de 20 pixeli in loc de 10. O margine de 20 de pixeli iti
sparge sablonul si iti arunca sidebarul in partea de jos a paginii pentru ca o margine de 20 pixeli
face cat suma latimilor Containerului si Sidebarului egala cu 760 si nu 750. Acesta este ceea ce se
cheama un bug in I.E.
Pentru a fixa bug-ul adauga display: inline; la sidebar. Sidebarul ar trebui sa arate astfel:
.sidebar{
float: left;
width: 240px;
background: #eeeeee;
margin: 0 0 0 10px;
display: inline;
}
Si iata cum ar trebui sa arate in acest moment fisierul index.php:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head profile="http://gmpg.org/xfn/11">
<title><?php bloginfo('name'); ?><?php wp_title(); ?></title>
<meta http-equiv="Content-Type" content="<?php bloginfo('html_type'); ?>;
charset=<?php bloginfo('charset'); ?>" />
<meta name="generator" content="WordPress <?php bloginfo('version'); ?>" />
<!-- leave this for stats please -->
<link rel="stylesheet" href="<?php bloginfo('stylesheet_url'); ?>"
type="text/css" media="screen" />
<link rel="alternate" type="application/rss+xml" title="RSS 2.0" href="<?php
bloginfo('rss2_url'); ?>" />
<link rel="alternate" type="text/xml" title="RSS .92" href="<?php
bloginfo('rss_url'); ?>" />
<link rel="alternate" type="application/atom+xml" title="Atom 0.3" href="<?php
bloginfo('atom_url'); ?>" />
20
</div>
<div class="navigation">
<?php posts_nav_link(); ?>
</div>
<?php else : ?>
<div class="post">
<h2><?php _e('Not Found'); ?></h2>
</div>
<?php endif; ?>
<div class="sidebar">
<ul>
21
display: inline;
}
#footer{
clear: both;
float: left;
width: 750px;
}
Lectia numarul 16
Deschidem style.css
Pasul 1
Curatam marginile si padding-urile ( umplutura) scriind urmatorul cod mai sus de body{} in
style.css:
body, h1, h2, h3, h4, h5, h6, blocquote, p {
margin: 0;
padding: 0;
}
Am notat margin:0; in loc de margin: 0 0 0 0; pentru ca atunci cand valoarea e aceiasi peste tot
folosesti o singura cifra.
Salvezi si dai refresh.
Pasul 2
Stilizezi cu h1. Scrii urmatorul cod sub body{} :
h1{
font-family: Georgia, sans-serfi;
font-size: 24px;
padding: 0 0 10px 0;
}
Explicatii:
font-family: Georgia, sans-serif; schimbi titlul H1 din Arial in Georgia
font-size: 24px; - trebuie notat ca atunci cand setezi dimensiunea de la 12px la 24px inauntrul
body{}, tagurile H1 si H2 nu mai au valabilitate. Aceasta pentru ca tagurile heading isi urmeaza
propriile reguli. Ca sa le controlezi trebuie sa le stilizezi special pe ele.
padding: 0 0 10px 0; - inseamna 10 pixeli in josul padding-ului. Aceasta este pentru a adauga
sptiu intre titlul blogului si descriere.
Pasul 3
Scrie urmatorul cod sub #container{} :
.post{
padding: 10px 0 10px 0; (adaugi 10px sus si jos la paddingul fiecarui DIV)
}
24
.post h2 {
font-family: Georgia, Sans-serif;
font-size: 18px;
}
.entry{
lin-height: 18px; (cresti dimensiunea intre linii inauntrul intrarilor DIV)
}
Pasul 4
Scrie urmatorul cod sub a:hover{} :
p{
padding: 10px 0 0 0 ;
}
Pasul 5
Scrie sub .entry{} :
p.postemetadata {
border-top: 1px solid#ccc; (poti aplica stilizare la postmetadata)
margin: 10px 0 0 0 ;
}
Pasul 6
Scrie sub p.postmetadata{} :
.navigation{
padding: 10px 0 0 0 ;
font-size: 14px;
font-weight: bold;
line-height: 16px;
}
<li></li>
</ul>
</li>
</ul>
Al doilea nivel (sau nested) UL mosteneste stilul primului UL. Daca aplici o margine primului UL,
al doilea UL va avea de asemenea o margine. Salveaza si da refresh.
Pasul 2
Scrie sub .sidebar ul{} :
.sidebar ul li{
padding: 10px 0 10px 0;
}
De ce nu am adaugat 10 pixeli tagului UL de prima data? Pentru ca ai nevoie sa separi un LI de
altul.
Pasul 3
sub .sidebar ul li{} scrii:
.sidebar ul li <h2> {
font-family: Georgia, Sans-serif;
font-size: 14px;
}
Pasul 4
Scrie sub .sidebar ul li <h2> {} urmatoarele:
.sidebar ul li{
padding: 0;
}
Lectia numarul 18
Sa impartim index.php in mai multe fisiere mai mici. Avem nevoie de style.css mai tarziu. Dupa
aceea vom lucra cu index.php pentru a crea noi fisiere.
Deschidem index.php si style.css
Pasul1
Adaugam 10 pixeli in varful (top) DIV-ului footer
Pasul 2
Dam o valoare de 18 pixeli tagului P inauntru footer (adica #footer p{})
Pasul 3
Cream un fisier numit header.php. In index.php copiem de la sfarsitul DIV-ului header tot ceea ce
urmeaza in nou creatul fisier header.php. Adica vom avea:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head profile="http://gmpg.org/xfn/11">
26
Pasul 1
Cream un fisier archive.php
Copiem tot ceea ce este in index.php in in archive.php
Salvam archive.php
In fisierul archive.php schimbam the_content in the_excerpt.
Salvam din nou.
Acuma, dam refresh la pagina arhiva; rezultatul ne va da o prescurtare si nu tot articolul. Facem asta
pentru a preveni Google sa ne penalizeze pentru duplicat de continut. Daca una din paginile din
arhiva si front page-ul deschid acelasi continut, acesta este un continut duplicat.
Pasul 2
Cream un nou fisier search.php
Copiem tot ceea ce este in archive.php in search.php
Salvam fisierul search.php
Acuma toate cautarile vor returna prescurtari.
Pasul 3
Cream fisierele page.php si single.php
Copiem tot ceea ce este in index.php in page.php si single.php (In acest moment cele doua fisiere
sunt la fel).
Salvam ambele fisiere si le inchidem.
Pasul 4
Exista diferente intr o Pagina si o pagina? page.php customizeaza aparitia Pages.
Prima data in page.php scriem urmatorul cod sub <?php the_content(); ?> :
<?php link_pages('<p><strong>Pages:</strong>','</p>','number'); ?>
<?php edit_post_link('Edit','<p>','</p>'); ?>
A doua oara stergem codul postmetadata din page.php. Aici avem codul fara postmetadata:
<div class=entry>
<?php the_content(); ?>
<?php link_pages('<p><strong>Pages:</strong>','</p>','number'); ?>
<?php edit_post_link('Edit','<p>','</p>'); ?>
</div>
A treia oara, stergem posts_nav_link() sau blocul de navigare din page.php
<?php endwhile; ?>
<div class= navigation>
<?php .posts_nav_link(); ?> (astea doua boldate dispar)
</div>
<?php else: ?>
Ce s-a intamplat? Prima linie a codului fost pentru a arata linkurile in sub-pagina. Salvezi page.php
si inchizi.
Pasul 5
In single.php scrii sub <?php the_content() ?> urmatoarele:
<?php link_pages('<p><strong>Pages:</strong>','</p>','number'); ?>
(Este aceiasi linie ca mai inainte)
In al doilea rand, in zona postmetadata sterge <?php comments_popup_link(); ?> si tagul <br/>
de dupa el. Nu sterge toate postmetadata.
In al treilea rand, inlocuieste <?php posts_nav_link(); ?>
cu:
29
font-size: 12px;
}
Pune-l la sfarsitul lui style.css ori chiar deasupra lui #footer.
Pasul 3
Scrii urmatorul cod sub DIV-ul entry in fisierul single.php:
<div class=comments-template>
<?php comments_template(); ?>
</div>
Pasul 4 (necesar validarii codului)
Validarea off-line:
mergi la codul sursa al paginii
copiezi tot codul
mergi la validator
adaugi in cutie (box) codul
dai check
33