Construirea Unei Aplicații WordPress Theme

Introducere

WordPress este cea mai populară platformă de blogginng care a devenit si sistem de administrare al conținutului (CMS) folosit de peste 60 milioane de website-uri de la jurnaliști, scriitori, bloggeri obișnuiți si mulți alții. WordPress este licențiat sub licența open source GPL, adica wordpress este gratis, poți să instalezi, să modifici ce vrei tu si să distribui. Dar atenție dacă creați lucrări derivate care folosesc bucați de cod care sunt licențiate sub GPL, aceste lucrări trebuie sa fie, de asemenea sub licența GPL.

Diferența dintre WordPress.org și WordPress.com:

WordPress.org este site-ul de unde descărcăm aplicația wordpress și o instalam pe pc-ul nostru sau o încărcăm pe un server gazdă, sau pe amândouă în același timp. Pentru că daca vrei să modifici ceva la site-ul tău mai întai vei modifica pe pc, local si daca ești mulțumit vei aplica modificările și unde ai site-ul incărcat pe server.

WordPress.org este pentru cei care vor să modifice teme sau să-și facă o temă de la zero, să le facă după bunul lor plac, sa instaleze ce module vor etc. Adică mai pe scurt, să faca ce vor ei. Au mai multă libertate dar cu asta vine si mai multă complexitate și asta pe răspunderea fiecaruia.

WordPress este alegerea ideală dacă vrei sa-ti creezi un site sau un blog și nu vrei să ai bătăi de cap cu personalizarea și configurarea lui. Ce este fain în wordpress este că poți să instalezi câte teme vrei si sa faci schimbul între ele când dorești. În wordpress cu temele poți să schimbi aspectul și funcționalitatea site-ului fără să afecteze conținutul și buna lui funcționare. Cu wordpress nu te oprești aici, poți să-ți extinzi caracteristicile cu module(plugin-uri), care pot oferi caracteristici si funcții personalizate cum ar fi widget-uri, SEO, forme de contact si multe altele.

WordPress.com este un serviciu de gazduire de tip blogging in care iti poti face gratis un blog simplu. Gratis inseamnand ca nu platesti nimic, nici o taxa de gazduire sau altceva daca vrei doar un simplu blog sa scri pe el si nu te intereseaza reclamele sau sa modifici teme. Deci nu e nevoie sa platesti nimic la pachetul beginner daca iti convine, dar daca te va interesa este si pachet premium si business . Cu wordpress.com ai setari automate, backup si securitate: asta inseamna ca ei vor avea grija de site-ul si continutul tau , sa nu dispara sau sa nu fie hackuit. Un avantaj ar mai fi ca vizitatori sunt garantati, in sensul ca tu cand publici ceva in wordpress.com , oamenii vor fi automat notificati ca tu esti nou in sistem si vor veni sa-ti vada continutul.

Dezavantajele sunt ca nu poti modifica teme, nu poti folosi teme modificate de tine, module(plugin-uri) care vrei tu si nu poti sa pui reclame(profitshare, googleadsense etc.).

WordPress a început la fel ca multe alte pachete software populare open source:

Unii dezvoltatori talentați au vazut o nevoie de a crea un instrument puternic, simplu, bazat pe un proiect existent sub licența GPL. Sistemul b2 / cafelog creat de Michel Valdrighi cu condiția punctul de plecare, și WordPress a fost construit ca o furcă de care cod de bază de dezvoltatori Matt Mullenweg și Mike Little. WordPress a apărut pentru prima dată în 2003 și a fost, de asemenea, construit în baza de date open source MySQL pentru persistente de conținut cu PHP ca platforma de dezvoltare. Valdrighi rămâne un factor care contribuie la proiect, care este înfloritor, deoarece are o comunitate în creștere și interesat de utilizatori și dezvoltatori.

Ca și în alte sisteme scrise în PHP, este autonom, în sensul c ă de instalare, configurare,

operare și sarcini de administrare sunt toate cuprinse în module PHP. Popularitate a WordPress a fost determinată în parte de simplitatea ei, cu fraza "instalarea de cinci minute" si face apariții în aproape fiecare descriere sau carte despre WordPress. Dincolo de a ajunge la o prima postare, WordPress a fost conceput pentru a fi extins și adaptabil la nevoile diferite de persoane diferite.

WordPress astăzi este susținut de o mână de dezvoltatori de bază și mulți colaboratori c heie. Mike Little conduce WordPress magazinul de specialitate zed1.com și el contribuie plasturele ocazional la cod. Compania lui Matt Mullenweg, Automattic, continuă să funcționeze ca serviciu de găzduire wordpress.com, precum și dezvoltarea fondului de conținut și de gestionare a site-ului instrumente conexe, inclusiv Akismet, multi-site-ul WordPress, Gravatar și cel mai recent plugin- uri, cum ar fi JetPack. Akismet este un serviciu robust, Automattic-găzduit de detectare spam și

protecție, cu o rată stati stic (și incredibil) low esec -de-detectare. Anterior cunoscută sub numele de WordPress MU, multi-site-ul cu funcții WordPress se află în centrul sistemului de hosting wordpress.com și sunt acu m fuzionat în arborele sursa principală WordPress. Gravatar servește dinamic imagini legate de adrese de e-mail, oferind o pictogramă găzduită cu o varietate de opțiuni de afișare. Ganditi -va ca un serviciu pentru a face hotlink fotografia de profil tehnic și social acceptabil. JetPack este un plugin multifuncțional care oferă o gamă largă de nevoi comune pentru proprietarul site-ului.

Ca un sistem de administrare de conținut, definiția sistemului WordPress nu se oprește la punctele de timp serializat cu comentarii. BuddyPress este un set de teme și plugin -uri care extinde WordPress într-o platformă funcțională de social networking, care permite utilizatorilor înregistrați sa trimita mesaje și să interacționeze unii cu alții, din nou, cu tot conținutul gestionat în cadrul WordPress. În mod similar, bbPress este un PHP- și sistemul MySQL bazat pe concepute pentru forum (buletine), care este diferit de la WordPress, dar este de obicei integrat cu ea.

Capitolul I.

Răspândirea WordPress

I.1 Starea curentă

Interesul si utilizarea în WordPress este în plină expansiune. Tu ții în mâini un testament pentru asta. În urmă cu doar patru ani, foarte puține cărți WordPress au fost disponibile. "Popular" este întotdeauna o valoare subiectivă, d ar statisticile adăuga unele greutate la aceste percepții. În conformitate cu Automattic, începând cu 2014, zeci de mii de site-uri noi WordPress sunt create în fiecare zi nu include stătătoare selfhosted site-uri WordPress. Aceasta include site-uri folosind WordPress pentru management de conținut, blogging -ul, și rants personale, și trebuie să fie reduse de către cei dintre voi care au instalații WordPress multe la numele lor, dar chiar si cu care estimare a ordinului de mărime, WordPress este extrem de popular. Automattic nu mai prezintă câte site-uri au gazdă pe WordPress.com, dar în 2012 au raportat aproape 74 milioane site-uri WordPress la nivel global cu aproximativ jumătate dintre ei găzduit la WordPress.com, iar în 2010 acest număr a fost la numai 5 milioane de site-uri. În 2008, WordPress oficial magazia plugin găzduit peste 6.300 de plugin-uri, dublarea numărului de 2007. În 2012, a doua ediție a acestei cărți citate 19.000 plugin

-uri în depozit, iar la momentul de acest scris, numărul de plugin-uri se apropie de 32.000. De la ultima publicare a acestei cărți, comunitatea a contribuit peste 1000 de teme unice oficial magazia tema WordPress, care are în prezent mai mult de 2.500 enumerate. Aceasta nu include toate vânzătorii tematice comerciale și dezvoltatorii independenți crearea propriilor teme personalizate.

Combinațiile de plugin-uri și teme nevoie de notație științifică pentru a reprezenta în

complexitate, dar, în același timp, toate sunt la fel de simplu pentru a localiza, integra, și utilizarea . Asta e rezultatul unei arhitecturi solide și o comunitate la fel de solid folosind-o. Pe scurt, ecosistemul din jurul WordPress este în viață și înfloritoare, chiar în plină expansiune.

Astăzi, "site-uri sau porțiuni ale acestora, inclusiv bloguri CNN, a Wall Street Journal" puteri WordPress multe companii mass-media mari s toate lucrurile D, Reuters, și Forbes. Fortune 500 de companii, cum ar fi GM, UPS, iar Sony folosesc WordPress. WordPress este o alegere viabilă pentru o serie de utilizatori, de la conglomerate internaționale artiști majore de înregistrare la mari edituri media. Unii au nevoie de reasigurare înainte de a alege WordPress și să se concentreze la

care băieții mari sunt folosind-o; puteți găsi o listă on -line la WordPress Utilizatorii notabile

prezenta.

Dar simplitatea, ușurința de utilizare, și în cele din urmă puterea plugin-uri și teme de asemenea, face WordPress potrivit pentru site-ul de informații familia mamei tale, newsletter-ul de clasă locală profesor de școală elementară, iar colecționar. Acestea sunt cu adevărat unele dintre poveștile de succes ale WordPress astăzi, iar aceste site -uri mai restrâns larg accesibile, populare sunt ceea ce face WordPress popular. WordPress este adaptabil și va fi la fel de simplu sau complex ca ai nevoie de ea sa fie. Responsabilizarea utilizatorilor "tech inferior" să fie editorii web și apoi răspândirea cuvântul (joc de cuvinte destinate) pentru familiile si prietenii lor despre cât de ușor

este de a folosi WordPress au alimentat această creștere explozivă și adoptarea.

Unde începe? WordPress.org este de origine pentru curentul lansat și în dezvoltare versiuni ale codului. Faceți clic pe pentru a wordpress.org pentru un punct de pornire în găsirea plugin-uri, teme, și liste de dorințe de idei și caracteristici care urmează să fie puse în aplicare.

WordPress.com are atât servicii gratuite cât și plătite de găzduire. Peste la www.wordpress.org/hosting veți găsi o listă de furnizori de hosting care acceptă WordPress și de multe ori includ unele instalații pentru prima dată suplimentar și suport configurare în ambalajul de cod pentru livrarea, ca parte a serviciilor lor de hosting. Veți găsi, de asemenea, furnizorii de WordPress hosting concentrate care găzduiesc site-uri strict WordPress și oferă caracteristici suplimentare de specializare și opțiuni.

I.2 Intersectarea cu comunitatea

WordPress prosperă și crește în funcție de contribuții comunitare, în plus față de utilizarea pură. Ca clasa de liceu gimnastică, participarea este numele jocului, și mai multe bulevarde semi- formale de-a lungul care să canalizeze eforturile și energiile voastre sunt disponibile. Evenimente WordCamp sunt comunitate găzduit și la nivel local operat, iar acum se întâmplă în zeci de orașe

din întreaga lume. WordCamps oficiale Offi sunt listate pe wordcamp.org, dar va face la fel de bine pentru a căuta un eveniment WordCamp într-un oraș mare aproape de tine. WordCamps apar aproape in fiecare week-end, cu bloggeri, fotografi, scriitori, editori, dezvoltatori, si designeri de toate nivelurile de experiență și calificare numără printre participanti lor. WordCamps s unt o introducere low-cost pentru a comunității locale și de multe ori o bună ocazie de a întâlni celebrități WordPress. Mai puțin structurată, dar mai frecvent convocată mult WordCamps sunt WordPress Meetups, cuprinzând utilizatori și dezvoltatori locali din aproape 400 (de la 200 menționat în a doua ediție a acestei cărți, și 40 în Primele) orașe. Veți avea nevoie de un cont meetup.com, dar odată ce ești înregistrat, puteți verifica pe locații și calendare la pentru a vedea cand si unde oamenii vorbesc

despre management de conținut.

O documentare depozit bogat, multi-limba este găzduit la WordPress Codex, cu tot respectul pentru termenul rezervat pentru manuscrise scrise de mână antice, reprezintă sfaturi și trucuri- comunitate a contribuit pentru fiecare fateta a WordPress, de la instalare până la depanare. Dacă vă simțiți nevoia de a contribui la documentația WordPress, inscrieti-și apoi scrie la inima ta de conținut în WordPress Codex. Sperăm că veți fi nd aceasta carte o încrucișare între un companion și un ghid de călătorie la Codex. În cele din urmă, liste de discucvent convocată mult WordCamps sunt WordPress Meetups, cuprinzând utilizatori și dezvoltatori locali din aproape 400 (de la 200 menționat în a doua ediție a acestei cărți, și 40 în Primele) orașe. Veți avea nevoie de un cont meetup.com, dar odată ce ești înregistrat, puteți verifica pe locații și calendare la pentru a vedea cand si unde oamenii vorbesc

despre management de conținut.

O documentare depozit bogat, multi-limba este găzduit la WordPress Codex, cu tot respectul pentru termenul rezervat pentru manuscrise scrise de mână antice, reprezintă sfaturi și trucuri- comunitate a contribuit pentru fiecare fateta a WordPress, de la instalare până la depanare. Dacă vă simțiți nevoia de a contribui la documentația WordPress, inscrieti-și apoi scrie la inima ta de conținut în WordPress Codex. Sperăm că veți fi nd aceasta carte o încrucișare între un companion și un ghid de călătorie la Codex. În cele din urmă, liste de discuții (și arhive lor) există pentru diverse contribuabili și comunități WordPress. O listă curentă este disponibilă online și este de interes special și poate fi lista WP- documente pentru contribuabili Codex și lista WP-hackeri pentru cei care lucrează pe nucleul WordPress și conduce direcțiile sale viitoare.

I.3 WordPress și GPL

WordPress este licențiat sub licența GNU Public License (GPL) versiunea 2, conținute în dosarul license.txt pe care le veți găsi în distribuția de cod de nivel superior. Cei mai mulți oameni nu citesc licența și să înțeleagă doar că WordPress este un proiect open source; cu toate acestea, buzunare de departamentele juridice corporative încă vă faceți griji cu privire la componenta virala a unei licențe GPL și implicațiile sale pentru cod sau conținutul suplimentar pe care se gaseste in, utilizate cu sau stratificat în partea de sus a distribuției originale. O mare parte din această confuzie provine din utilizarea liberal a cuvintelor "libere" și "drepturile de autor", în contexte în care acestea se aplică inadecvat.

Autorii acestei cărți nu sunt avocați, nici nu le joacă pe Internet sau pe television- și dacă chiar vrei să înțeleagă nuanțele de drept de autor și ceea ce constituie un "transport" de cod, ridica unele Lawrence Lessig sau munca Cory Doctorow în aceste domenii.

Această secțiune este inclusă pentru a minimiza preocuparile departamentelor IT care pot fi descurajate să folosească WordPress ca un sistem de management al conținutului de întreprindere de echipe juridice prea zeloși. Nu lasa sa se intample cu tine; din nou, în cazul în WordPress este acceptabil pentru CNN și Wall Street Journal, doua companii care supraviețuiesc pe drepturile de autor acordate conținutul lor, se fi probabil ts în stricturi juridice ale majorității utilizatorilor corporativi, de asemenea.

Principiul de bază al GPL asigură că puteți obține întotdeauna codul sursă pentru orice distribuție de software GPL-licentiat. Dacă o companie modifică un pachet software GPL-licentiat si apoi redistribuie care versiune mai nouă, ea trebuie să facă codul sursă disponibil, de asemenea. Aceasta este natura "viral" de GPL la locul de muncă; Scopul său este de a se asigura că accesul la software-ul și derivații săi nu este redusă în domeniul de aplicare. Dacă aveți de gând cu privire la modificarea miezul WordPress și apoi distribuirea codul, va trebui să vă asigurați că modificările sunt acoperite de GPL și că codul este disponibil sub formă de cod sursă. Având în vedere că WordPress este scris în PHP, un limbaj interpretat, distribuirea software-ul și dist ribuirea codului sursă sunt efectiv aceeași acțiune.

În urma sunt unele percepții greșite comune și explicații asociate despre utilizarea WordP ress în situații comerciale.

 "Software-ul gratuit" înseamnă că nu se poate comercializa utilizarea acestuia. Puteți încărca persoane de a utiliza instalarea de WordPress, sau a face bani din reclame care rulează site- ul dvs., sau folosesc un WordPress platforma de management de conținut ca temelie a unui magazin online. Acesta este modul în care funcționează wordpress.com; de asemenea, permite Google pentru a încărca agenții de publicitate pentru utilizarea serviciilor lor bazate pe Linux. Puteți găsi teme profesionale WordPress calitate cu etichete cu prețuri non – triviale, sau puteti face plata o sute furnizor de hosting sau chiar mii de dolari pe an pentru a rula MySQL, PHP, Apache, și WordPress software stack; ambele presupun comercializarea de WordPress.

 Dacă vă personalizați codul să se ocupe de propria {tipuri de conținut, politici de securitate, sau cerințele de navigație obscure} va trebui sa publice aceste schimbări. Vă sunt necesare doar pentru a face codul sursă disponibil pentru software-ul pe care le distribuie. Dacă alegeți pentru a face aceste modificări în interiorul companiei, nu trebuie să le redi stribuie. Pe de altă parte, dacă ați făcut unele îmbunătățiri de bază WordPress, intreaga comunitate vor beneficia de ele. Obținerea angajatorii mai neschimbat pentru a înțelege valoarea contribuției comunitare și relaxați -vă drepturile de autor și angajaților normele de contribuție este, uneori, un pic dificil, dar faptul că ai avut un punct de plecare solid este o dovadă că ceilalți angajatori făcut tocmai acel set de alegeri în numele mai mare comunitate WordPress.

 GPL va "infecta" conținut pe care le pune în WordPress. -Continutului, inclusiv elemente grafice de teme, posturi, și pagini gestionate de WordPress-se separat de nucleul WordPress. Acesta este gestionat de software-ul, dar nu un derivat sau o parte a software-ului. Teme, cu

toate acestea, sunt un derivat al codului WordPress și, prin urmare, de asemenea, intră sub GPL, care necesită vă pentru a face codul sursă pentru tema disponibile. Rețineți că puteți încărca în continuare pentru tema, dacă doriți să facă disponibile în comerț. Din nou, pun ctul cheie aici este că veți face codul sursă disponibil pentru oricine care utilizează software -ul. Dacă aveți de gând să perceapă pentru utilizarea unei teme, aveți nevoie pentru a face codul sursă disponibil sub GPL, precum și, dar a subliniat anterior, utilizatorii instalarea tema obține efectiv codul sursă.

Mai important decât o lecție de istorie WordPress și examinarea de acordare a licențelor sunt problemele ce puteți face cu WordPress si de ce v-ar dori să se bucure de robustețea. Următoarea secțiune se uită la WordPress ca un full -fl tăișuri sistem de management de conținut, mai degrabă decât pur și simplu un blog de editare instrument.

Capitolul II.

Conținut și Conversații

Multiple picioare liniari de rafturi în librării sunt umplute cu volume care vor îmbunătăți vocea ta scris, stil literar, tehnici de blogging , și alte aspecte ale conținutului abilitatile tale de creatie. Unul dintre obiectivele acestei cărți este de a defini, și mecanismele de gestionare context vizuale, stilistice puteți construi cu WordPress pentru a forma comunitati de utilizatori vii în jurul dvs. de conținut. Acest context stimulează conversație cu cititorii. Publicare nu este doar despre cuvintele din fiecare postare, sau chiar dacă sunteți un scriitor interesant. Cum veți găsi oameni? Cum vei sta în mulțime? Cum poti sa pui propria amprenta pe site-ul dvs., și personaliza-l pentru orice scop: personal, întreprindere, comunitate, sau comercială?

II.1 WordPress ca un Sistem de Management de Conținut(CMS)

Sistemele de blogging au rădăcinile în operațiunile simple de management al conținutului: Creați un post, persistă o în depozit stabil, cum ar fi un sistem de fișiere sau baze de date, și pentru a afișa ieșirea formatată baza unor serii de criterii temporale sau de cuvinte cheie. Ca bogăția și tipurile de conținut prezentate în paginile de blog extinse, precum și cerințele de sortare, căutare, selectarea și prezentarea conținutului crescut pentru a include metadate și conținut t axonomii, linia dintre vanilie, software blogging orientate-un singur utilizator și enterprise -grade Sisteme de management al conținutului neclară.

Sisteme de management al conținutului (CMS) se ocupe de crearea, stocarea, regăsirea, descrierea sau adnotare, și publicarea sau afișarea de o varietate de tipuri de conținut. CMS include de asemenea activități de flux de lucru, de obicei, dintr-o perspectiva editorial sau publicarea, și include acțiuni cum ar fi aprobare și conținutul de marcare pentru editare suplimentare sau de revizuire. WordPress Tabloul de bord oferă acele elemente de management workfl um și controlul editorial. WordPress nu este singurul open source sistemul de management al conținutului utilizate pe scară largă în prezent; proiectele Drupal și Joomla sunt alegeri la fel de populare. Drupal și Joomla începe din punctul de vedere al gestionării depozite de conținut; ei se ocupe de o varietate de tipuri de conținut, mai mulți autori în mai multe roluri, iar livrarea conținutului către un consumator care solicită acest lucru. WordPress este în centrul său un sistem de publicare, iar final se pune accent pe afișarea conținutului unui cititor. Deși există zone de suprapunere funcțională, puteți integra WordPress cu alte si steme de management de conținut.

WordPress sa impus ca un sistem de management de conținut de bună credință prin design pentru extensibilitate și separarea persistenta conținut de afișare conținut. Luarea unor libertăți cu modelul de proiectare Model-View-Controller, WordPress separă stratul persistența MySQL ca un model de date, interfața cu utilizatorul-temă condus și funcții de afișare, precum și arhitectura plugin care interpune funcționa în datele de prezentare fl ow. Cel mai important, WordPress magazine conținut în formă brută, introduse de u tilizator sau o postare cerere prin API-urile WordPress. Conținut nu este formatat, alerga prin template -uri, sau prevăzute până pagina este redat, rezultând o putere imensă pentru funcțiile care generează HTML actuale. În același timp, modelul de date utilizat de WordPress foloseste un set bogat de tabele pentru a gestiona categoriile (taxonomii), etichete de conținut (folksonomies), autor de informații, comentarii, și alte piese de valoare de referințe încruciș ate.

Deși această Design ofera WordPress inc redibil putere și flexibilitate ca un sistem de management

de conținut, se impune, de asemenea cunoștințe de modul în care sunt legate de persistenta si control aceste date fluxuri. (A fost o căutare pentru un astfel de disecție de WordPress pe plan funcțional, care ne-au reunit pentru a scrie această carte.)

Capitolul III.

Anatomia unei Teme și Ierarhia Șablon

III.1 Minim de fișiere

Să începem cu elementele de bază absolute ale unei teme WordPress. Acesta trebuie să conțină două fișiere:

• style.css

• index.php

Fiecare temă creată trebuie să aibă cel puțin aceste două fișiere, precum și oricare mai dorește dezvoltatorul să mai includă. Chiar dacă puteți utiliza alte șabloane (discutate în scurt timp) pentru a afișa tot conținutul dvs., trebuie să aveți fișierul de index, pentru că este o rezerva ce inlocuieste finală pentru ceva care se afișează în tema. Dacă unul dintre aceste fișiere de pe tema lipsește, pur și simplu nu va apărea în managerul de tema pentru tine să-l activezi.

Fișierul index.php

WordPress foloseste fisierul index.php ca fisier implicit pentru redarea unui site web. Dacă nu există alte fișiere în tema, WordPress va folosi acest șablon pentru tot; și dacă nu există nici un fișier de tipul de conținut se cere pentru, WordPress va cădea înapoi la index.php. Ai putea crea tema cu un fișier index.php și un fișier style.css, dar după cum veți vedea, prin cursul acestui capitol, există o mulțime de moduri de a personaliza ieșirea site-ul dvs. , folosind template-uri din WordPress.

Fișierul style.css

Fișie rul style.css ar fi principalul Cascading Style Sheets de fișiere (CSS) într-o temă WordPress. Este foarte bine pentru a crea mai multe foi de stil pentru cod mai întreținut, dar fișierul principal style.css ar trebui să existe întotdeauna.

Cea mai importanta caracteristica a fișierului style.css este faptul că deține toate metadatele pentru tema, care este afișat în managerul tema. Acestea sunt stabilite prin antetul foaie de stil în comentariile utilizând nume specifice de atribute, care WordPress găsește și ieșiri în managerul temă. Aici sunt observațiile Douăzeci Doisprezece antet style.css:

/ *

Nume Temă: Patience

Temă URI: http://cirtogflorin.ro/

Autor: Cîrtog Florin

Autor URI: http://cirtogflorin.ro

Descriere: Patience este Temă receptiv completă care arata foarte bine pe orice dispozitiv. Caracteristicile includ un șablon frontal pagină cu propriile widget -uri, un font de afișare opțional, styling pentru formatele poștale pe ambele index și vedere unică, și opțional șablo n de pagină fără bara laterală.Face a ta cu un meniu personalizat, imagine antet, și fundal.

Versiune: 1.0

Licență: V3 License GNU General Public sau mai nouă

Licență URI: http://www.gnu.org/licenses/gpl.html

Tags: lumina, gri, o coloană albă, două coloane, dreapta- sidebar, flexibil-lățime, personalizat-fond,

-header personalizat, meniu personalizat, stil editor,-imagini prezentate, antet flexibil, full-latime- template, microformate, post-formate, RTL-language-suport, sticky- poștă, tema-opți uni,traducere gata

Text Domeniu: patience

Această temă, cum ar fi WordPress, este licențiată sub GPL.

Folositi pentru a face ceva cool, sa te distrezi, și să împărtășești ceea ce ai învățat cu alții.

* /

Aceasta este o foaie de stil antet foarte cuprinzătore, care include totul, de la autorul temei pentru orice detalii suplimentare care se găsesc în partea de jos a comentariilor.

Iata un ghid rapid la informațiile pe care le puteți seta în antetul foii de stil:

 Nume Temă : Titlul complet al temei, inclusiv spațiile; poate fi valorificat.

 Tema URI: Locul în care veți găsi tema pentru a descărca

 Author: Numele temei Creatorului. Deși WordPress sugerează numele de utilizator autorul folosește pentru a vă conecta la wordpress.org, este lăsată la autor.

 Autor URI: site-ul autorului.

 Descriere: O scurtă descriere a caracteristicilor temei și designul

 Version: Versiunea de tema în timp ce lucra la ea. După cum vă actualizați tema și încărcați

-l în directorul WordPress teme, numărul de versiune este utilizat pentru a declanșa notificări pentru actualizări tematice pentru oricine, folosind tema.

 Licență: Licența foloseste tema

 Licență URI : adresa de web în care puteți găsi mai multe informații cu privire la licență.

 Tags: O listă de tag-uri corespunzătoare care pot fi folosite pentru a ajuta utilizatorii să găsească temei în Depozit WordPress.

 Text Domeniu: un identificator unic pentru utilizarea în localizarea în WordPress.

Acest lucru este adesea un minuscule (fără spații) versiune a numelui temă (vezi anterior douăzeci doisprezece exemplu).

Alte comentarii cu privire la tema pot fi adăugate la partea de jos a comentariilor antet foi de stil. Nu toate informațiile meta precedent Este necesară pentru tema; WordPr ess preia informația care este acolo și ignoră orice altceva.

 Notă In plus față de informațiile din antetul foii de stil, o imagine cu screens hot.png nume poate fi utilizat pentru managerul tema. Imaginea este de obicei un screenshot de modul în care tema arata, astfel încât utilizatorul poate avea o scurtă previzualizare înainte de a activa tema. Imaginea este recomandat să fie dimensionate la 600 x 450px și ar trebui să fie situate în rădăcina folderului teme.

III.2 Fișierele de bază Șablon

Anatomia din figura alăturată ar trebuie să fie destul de familiară dacă ați dezvoltat o temă WordPress înainte. Acesta arată un exemplu simplu de machiaj a unei pagini folosind fișierele șablon de bază disponibile în WordPress.

Toate paginile într-o temă WordPress pot fi construite folosind o serie de fișiere șablon de bază, inclusiv următoarele:

 header.php

 footer.php

 sidebar.php

 comments.php

 searchform.php

Această secțiune are o privire mai detaliată la fiecare din aceste fișiere (ce pot și trebuie să fie utilizate pentru) și unele funcții importante WordPress care trebuie să fie incluse în aceste secțiuni de bază.

header.php

Fisierul header.php este utilizat pentru orice marcare comună pentru a arăta în partea de sus a pagini

HTML. Aceasta include, de obicei, următoarele:

 declaratie DOCTYPE

 Deschiderea <html> tag

 Întregul <head> a documentului HTML

 Deschiderea <body>

Acesta poate conține, de asemenea orice marcare a fi folosite în mod consecvent în toate paginile site-ului, de exemplu, principalele logo-ul și navigare, care nu se va schimba de-a lungul site-ul tău. Fișierul header.php poate include conținut la fel de mult sau cât de puț in doriți să fie utilizat în mod consecvent în întreaga tema. Iată un exemplu de fișier header.php simplu:

<?php

/**

* Antet pentru tema

*

*/

?><!DOCTYPE html>

<html <?php language_attributes(); ?>>

<head>

<meta charset="<?php bloginfo( 'charset' ); ?>" />

<meta name="viewport" content="width=device-width" />

<title><?php wp_title( '|', true, 'right' ); ?></title>

<!– HTML5 SHIV for IE –><!– If using Modernizr you can remove this script! –>

<!–[if lt IE 9]>

<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>

<![endif]–>

<?php wp_head(); ?>

</head>

<body <?php body_class(); ?>>

<header class="site-header">

<h1>

<a href="<?php echo home_url(); ?>">

<img src="<?php bloginfo('template_directory'); ?>/images/

logo.jpg" alt=" ">

</a>

</h1>

</header>

Acesta este un exemplu destul de simplu de un fișier header care o puteți folosi pe tot parcursul dezvoltării temei; include DOCTYPE HTML5 obicei, deschiderea <html> tag, <head> deplină a

site-ului, și o inițială <header> bloc pentru a afișa logo-ul site-ului.

În secțiunea <head>, nu foaie de stil este declarat că WordPress are o modalitate foarte bună de a face cu foaia de stil (și JavaScript) include, care sunt gestionate de (funcția wp_head).

Funcția wp_head ()

Această funcție trebuie introdusă obligatoriu în interiorul <head> a tuturor paginilor într-o temă și ar trebui întotdeauna să fie amplasată înainte de închidere tag-ul </ head> . Această funcție WordPress este folosită pentru a include foi de stil și script -uri de la tema și orice plug-in-uri care ar putea fi utilizate. Dacă nu-l includeti, s-ar putea ajunge de rupere din neatenție site-ul tău. Aici este HTML generat de wp_head precedent () apelul funcției:

<meta name='robots' content='noindex,nofollow' />

<link rel='stylesheet' id='patiencedevs-style-css' href='http://12devs.dev/wordpress/wp-content/

themes/12devs/style.css?ver=3.5.1' type='text/css' media='all' />

<!–[if lte IE 7]>

<link rel='stylesheet' id='twelvedevs-ie-css' href='http://12devs.dev/wordpress/wp-content/

themes/12devs/ie-old.css?ver=3.5.1' type='text/css' media='all' />

<![endif]–>

<script type='text/javascript' src='http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min. js?ver=3.5.1'></script>

<link rel='canonical' href='http://12devs.dev/events/12-devs-at-easter/' />

După cum puteți vedea, există două foaie de stil include si un script include, de jQuery, pre cum și o etichetă legătură canonică și o etichetă meta roboți. Această ieșire poate fi controlat cu ajutorul funcțiilor în WordPress; veți arunca o privire la modul de a include

foi de stil și script-uri un pic mai târziu în acest capitol.

Funcția wp_title ()

Altă funcție care ar putea fi observat în exemplul header.php este funcția wp_ title (). Această

funcție este folosită pentru a crea un titlu pentru browser-ul bazat pe pagina curentă fiind vizualizat. Funcția poate lua trei parametri: un șir de separator, dacă pentru a afișa titlul sau returna un șir PHP, și locația pentru separator. În mod implicit, această funcție ieșiri doar numele paginii ești, dar mai târziu în cartea veți învăța modalități de a personaliza, transformând -o în ceva mult mai util și mai mult (ahem) Search Engine Optimization (SEO) -friendly.

footer.php

Șablonul footer.php este similar cu fișierul header.php, dar conține sfârșitul documentului HTML. Este locul in care veti gasi cel mai probabil </ body> </ html> asocierea, dar ar putea fi, de asemenea, utilizate pentru marcare comun care este situat în partea de jos a fiecărei pagini în tema. Încă o dată, este nevoie de o funcție WordPress special, wp_footer (), pentru a fi incluse.

Funcția wp_footer ()

Ca și funcția wp_head (), wp_footer () este o funcție obligatorie necesară în toate temele, situat chiar înainte de închidere </ body>. Această funcție este utilizată în principal la fișiere script ieșire de la sfârșit ul documentului sau de analiză codul. Dacă nu-l includeți, riscați unele dintre caracteristicile tema sau incluse plug-inuri nu funcționează. Acesta este locul unde WordPress include marcajul de bara admin care apare atunci când un utilizator este conectat la WordPress. Veți curând învăța să-și amintească mereu func ția wp_footer () în cazul în care (ca mine) va petreceti vârstele întrebați de ce există brusc un spațiu 30px în partea de sus a site-ului.

sidebar.php

Sidebar este un alt template-uri de bază care pot fi folosite pentru a face un fișier. Acesta este utilizat de obicei pentru conținut care apare pe mai multe pagini, dar nu este legat direct de conținutul principal al paginii. Fișierul sidebar este adesea folosit pentru a afișa widget-uri, care există în WordPress nativ, sau pot fi create prin plug-in-uri sau în funcțiile Teme.

comments.php

Cum sugerează și numele, comentarii .php este folosit pentru a genera markup pentru comentariile

de pe un anumit post. Până în curând, WordPress a avut un șablon implicit pentru afișarea comentariile care ar putea fi suprascrise utilizând un fișier comments.php in tema. Această funcționalitate este depreciată, cu toate acestea, astfel încât în versiunile mai noi va trebui să aibă un fișier comments.php in tema, dacă doriți pentru a face comentarii.

searchform.php

Fișierul searchform.php face destul de mult exact ceea ce se spune pe tablă. WordPress a păstrat o versiune implicită a acestui fișier pentru a fi utilizate în temă, cu toate acestea, deci, dacă nu este declarat, WordPress revine la propria implicit:

<form role="search" method="get" id="searchform" action="<?php echo home_url( '/' ); ?>">

<div><label class="screen-reader-text" for="s">Search for:</label>

<input type="text" value="" name="s" id="s" />

<input type="submit" id="searchsubmit" value="Search" />

</div>

</form>

Țineți minte că atunci când crearea unui formular de căutare personalizată, să -l facă în mod corect în WordPress, ar trebui să fie folosind o metodă GET îndreptate la pagina de pornire a site- ului. (Mai multe despre căutarea este acoperit mai târziu în acest capitol.)

Includeți fișierele de baza șablon

Învățând despre toate aceste fișiere șablon este tot bine și bună, dar acum trebuie să le includă, de fapt, în principalele tale fișiere șablon. Fiecare dintre fiși erele anterioare ar putea fi inclus cu un PHP regulate includ () apel, dar WordPress merge un bine și furnizează unele funcții șablon de a folosi în mod specific pentru fiecare dintre fișierele de bază:

 get_header ()

 get_footer ()

 get_sidebar ()

 get_search_form ()

 comments_template ()

Fiecare dintre aceste funcții include fișierul implicit corect în locul în care a fost numit. Iată ce arată un fișier model standard ca și cu toate incluziuni:

<?php get_header(); ?>

<div class="container">

<div class="search">

<?php get_search_form(); ?>

</div>

<div class="main">

<?php // do stuff ?>

<?php comments_template(); ?>

</div>

<?php get_sidebar(); ?>

</div>

<?php get_footer(); ?>

Un alt truc cu acestea includ () funcții este că get_header (), get_footer (), și get_sidebar () pot fi fiecare transmis un șir ca parametru. Prin aceasta, căutări WordPress pentru un alt fișier de implicit de a include în șablon. De exemplu, ai putea avea mai multe bare laterale pentru a utiliza în diferite locuri în temă pentru a permite o mai bună structură sau mentenabilitatea mai ușor. Pentru a crea un al doilea sidebar, creați un fiși er șablon numit secondary.php sidebar; să-l includă în

fișierele șablon, pur și simplu apel funcția get_sidebar () cu "secundară" ca parametru șir:

get_sidebar ("secundar");

Același lucru se poate face cu antet și subsol fișierele. S-ar putea părea un pic ciudat de a avea mai multe anteturi pentru dvs. site-ul, dar am avut o experiență în care un client a vrut două secțiuni principale a site-ul lor. Ei au fost legate împreună, dar afișate diferit, cu un brand separat și navigarea principală. Acesta a fost realizat cu ajutorul a două fișiere antet și două fișiere subsol, câte una pentru fiecare dintre principalele secțiuni site-ului. Ea mi-a permis să construiască site-ul pe o instalare a WordPress, care a însemnat o mai bună gestionare pentru client și doar câteva fișierele șablon construit în tema.

Comments_template () este altă funcție care poate avea parametri transmiși la ac esta. În mod implicit, funcția pur și simplu scoate conținutul fișierului comments.php, dar se poate trece doi parametri. În primul rând este un nume șablon, în acest caz, trebuie să fie întreg numele șablonului

și calea relativă la directorul șablon (de exemplu, "/custom-comments.php"). Al doilea parametru este un boolean care determina daca pentru a avea comentariile separate prin tipul; acest lucru este setat la fals implici.

III.3 Fișierul functions.php

Într-un sens, dosarul funcții de o temă WordPress (functions.php în rădăcina de tema ) acționează ca propriul puțin plugin. Acesta devine încărcat automat de WordPress atunci când o pagină este inițializată în ambele partea din fata si admin dvs. site-ului. Acesta poate fi folosit pentru o varietate de funcții:

 Pentru a configura WordPress funcție țintă precum post-miniaturi sau tipuri poștale personalizate

 Pentru a defini funcții care pot fi utilizate pe t ot parcursul șabloanele tema

 Pentru a schimba admin WordPress sau adăuga în opțiuni pagini

Aceasta este un exemplu de fișier functions.php mic: Aceasta este un exemplu mic dintr-un fisier functions.php:

<?php

/**

* Patience functions and definitions

* @package patience

*/

add_theme_support( 'automatic-feed-links' );

add_theme_support( 'post-thumbnails' );

Toate acest cod nu este configurat cateva caracteristici de sprijin tema: link-urile de alimentare funcție p entru a îmbunătăți fluxuri RSS generat de site-ul si post-miniaturile sunt dotate, care este intotdeauna la indemana pe orice site WordPress. Acesta vă permite să atașați o imagine la orice post sau sa pagină, care pot fi incluse în mod specific în șabloane.

 Notă Deoarece un fișier functions.php actioneaza mai mult ca un plugin, ar putea fi

un punct atunci când aveți nevoie să ia în considerare, de fapt scrie un plugin loc.

III.4 Ierarhia Șablon

Acum, că au fost introduse fișierele șablon de bază, puteți începe să se uite la modalită ți de a personaliza ieșirea ta tema cu fișierele șablon mai specifice. Toate fișierele discutate în această lucrare secțiune într-un mod similar cu index.php dosar și în mod normal au unele sau toate fișierele șablon de bază incluse în interiorul lor. Dacă aruncăm o privire la șablon ierarhie, veți vedea o mulțime de opțiuni atunci când creați șabloane particularizate pen tru aproape orice parte a dvs. de conținut. Diagrama a devenit de fapt atât de mare încât pentru a se potrivi în carte am inclus o secțiune parțială.

Aruncati o privire la unele dintre fișierele de bază care apar în partea dreaptă a ierarhiei:

 page.php

 single.php

o attachment.php

 archive.php

o taxonomy.php

o category.php

o date.php

o tag.php

o author.php

Aici sunt unele dintre fișierele speciale șablon utiliz at pentru scopuri specifice:

 front-page.php

 home.php

 search.php

 404.php

 comments-popup.php

Principalul lucru de reținut despre ierarhia este că apare mai departe drept șablon, mai general, este. Orice format de fișier șablon în stânga cea de pe același rând este mai specific la un anumit pagină sau tip, și este dat prioritate.

page.php

Cum sugerează și numele, acest șablon este utilizat pentru a genera și afișa paginile din site -ul dvs. WordPress. Dacă aveți nevoie pentru a crea un șablon particularizat pentru o anumită pagină, o puteți face cu ușurință cu ajutorul slug paginii, care este de obicei o literă mică, versiune despărțite de titlul paginii. In WordPress, pagina glonțul se află sub tit lul principal în editorul.

Puteți utiliza, de asemenea, ID-ul de start, în locul dopului, dar eu nu-l recomand, pentru că nu este foarte ușor pentru a vedea care este șablon pentru care pagina. Nu mă pot gândi la o situație în care v -ar schimba de multe ori locația unei pagini, dar păstrează același format.

Cele două șabloane aveți nevoie să vă amintiți, atunci când utilizează pagini sunt page.php

pentru uz general și de pagină {slug} .php pentru direcți onarea anumite pagini de layout personalizat (în cazul în care {} melc este pagina dopul a paginii vizate).

single.php

Șablonul single.php este utilizat pentru a afișa toate posturile individuale. De asemenea, este utilizat atunci când au fost tipuri poștale personalizate

create, și doriți să afișaț i un post de individ de acest tip. Pentru a viza un tip de mesaj specific, trebuie să utilizați numele de acest tip post de a utiliza pagina limaxul pentru a viza o anumită pagină. Pentru a crea un șablon pentru a afișa toate standard de posturi in WordPress, folosesc un singur post.php, dar amintiți -vă că toate posturile individuale cad înapoi la single.php dacă un singur post.php nu există. Abordarea mea obișnuită este de a utiliza un singur posttype.php pe ntru toate posturile vamale și single.php pentru tipul de post-natal la WordPress.

Șablonul single.php este utilizat pentru a afișa toate atașamentele mesaj dacă să le permită să fie legate la WordPress. Pentru a crea o pagină mai de bază pentru atașamente, utilizați fișierul șablon attachment.php.

attachment.php

Fisierul attachment.php este utilizat pentru a afișa orice atașamente care pot fi lega te direct de la WordPress față final. Când încărcați imagini / video / documente WordPress, creează calea fișierului unde este stocată în sistemul de fișiere WordPress (de obicei / wp-content / upload), iar apoi o adresă URL atașament, care poate fi legat de direct pentru a demonstra . atașament în partea din față a site -ului dvs. WordPress.

Puteți crea, de asemenea, fiși ere mai specifice șablon pentru anumite tipuri de atașament folosind tipul MIME ca numele șablonului:

 image.php

 video.php

 text.php

archive.php

Șablonul arhivă este folosit ori de câte ori un grup de posturi sau informații este accesat prin interogarea. Acesta poate fi

folosit pentru orice, de la o arhiva-data specifice, pentru posturile de un anumit autor, sau pentru posturile care sunt într-o anumită categorie.

Șablonul principal archive.php afișează totul, dar așa cum se arată în ierarhia șablon prezentat în

Figura 2 -6, există mai multe fișiere șablon care pot fi folosite pentru a suprascrie archive.php.

Tipurile de arhivă includ următoarele:

 categoria

 etichete

 autor

 data

 taxonomia

Puteți viza, de asemenea, anumite categorii, tag -uri, și autori folosind categorie, eticheta, sau numele autorului specific

(autor nicename cum este folosit în WordPress). Fișierul data șablon prinde orice arhivele referitoare la o perioadă anumită dată, inclusiv anul, luna, ziua; dar nu pot viza și alte tipuri de informații actualizate.

Șablonul taxonomie poate fi utilizat pentru a viza taxonomii personalizate pe care le creați în WordPress, precum și anumite termeni în care șablon. Pentru a viza o taxonomie personalizat, adăuga numele taxonomie la numele șablonului (de exemplu, taxonomie-taxonomyname.php). Pentru a accesa un termen specific de un anumit taxonomie, adăugați termenul numele să-l (de exemplu, taxonomie-taxonomyname-termname.php).

Acum, că am acoperit unele dintre modelele mai generale disponibile în ierarhia șablon, uita-te la unele din șabloanele care au funcționalitate mai specific în WordPress.

front-page.php

Șablonul front-page este utilizat atunci când o pagină față static a fost selectat dintr e opțiunile WordPress admin în Setări ➤ Reading (vezi Figura de mai jos). Când această opțiune este setată, șablonul de pagină este suprascris cu front-page.php înainte, de alții, permiț ându-vă să creați o

pagină de start personalizată pentru site-ul dvs., pe baza unui fișier șablon specific și de a face ca șablon fiși er mult mai ușor de la fața locului în rândul fiși erele șablon.

home.php

Modelul de origine este folosită în două situații: ca modelul principal pentru pagina de start pentru site-ul dvs. sau pagina principala lista șablonul de site-ul dvs. atunci când ați configurat o pagină față static folosind setări le de citire, așa cum se arată în Figura 2-7.

search.php

Șablonul de pagină de căutare afișează rezultatele orice căutare efectuate pe site -ul web. Pentru a obține acest șablon pentru a încărca o căutare, aveți nevoie pentru a depune o cerere ajunge la pagina de start a site-ului. De exemplu, mysite.com?s=about ar căuta mysite.com pentru termenul "despre", iar modelul de căutare ar putea fi utilizat pentru a afișa aceste rezultate.

In acest șablon, pentru a afișa căutarea care a fost efectuată, puteți utiliza the_search_query ()

Funcția:

<p>You searched for " <?php the_search_query() ?> ". Here are the results:</p>

Este de asemenea posibil, deși este nevoie de un pic de înșelăciune, pentru a schimba locația implicită de căutare păstrând șablonul corect pagină, datorită acestui fragment de cod de la Paul Davis:

function search_url_rewrite(){ if(is_search() &&

!empty($_GET['s'])){ wp_redirect(home_url("/search/"). urlencode(get_query_var('s'))); exit();

}

}

add_action('template_redirect', 'search_url_rewrite');

Această funcție adaugă pe cârlig "template_redirect", care determină șablon ul de pagină WordPress trebuie să se încarce. Atunci când este detectat un căutare, acesta redirecționează URL- ul pentru / search / SEARCHTERM, care creează structuri URL bune și înseamnă că nu mai sunt necesare pentru a utiliza un GET pentru a efectua o căutare 404. Șablonul php 404 este afișat de WordPress, atunci când nu se poate găsi un rezultat pentru interogarea de o pagină sau post specific. interogări generale pentru o pagină de arhivă care transforma pana nici un rezultat încă încărcați șablonul arhivă corect cu erori pentru care manipulate în fișierul șablon folosind bucla (mai mult pe faptul că, în capitolul următor ).

O pagină 404 personalizată ajută utilizatorii care ar fi putut fi redirecționat către pagina

greșit sau au introduse greșit o adresă URL de oferindu-le o cale de întoarcere în site-ul și permițându-le să găsească ceea ce căutau. Au un pic de distracți e, ca și pagina GitHub 404 în Figura

2-8. O distracție 404 pagină este un design bun, deoa rece poate ajuta la reducerea orice frustrare utilizator de la care nu a găsi ceva pe site-ul tau. Pagina GitHub 404

Fișierele Personalizate Șablon

Deci, dacă toate opțiunile pentru diferite șabloane de pagină discutate aici nu sunt de ajuns, există chiar și o moda litate de a crea personalizate șabloane de pagină în WordPress pentru a vă oferi chiar mai multe oportunități de personalizare.

S-ar putea nevoie de un fișier șablon particularizat când doriți să ofera un aspect alternativă sau o bucată de funcționalitate ca optiune pentru orice pagină de pe site-ul.

 Notă Pagina personalizată de template-uri sunt disponibile numai pentru paginile din WordPress, nu pentru posturile sau tipuri poștale personalizate.

Pentru a crea un șablon de pagină personalizată, trebuie să creați un nou fișier în directorul temă și să se asigure că nu intră în conflict cu oricare dintre numele șablon rezervat de ja în WordPress

șablon ierarhia. Începeți fisierul cu un comentariu PHP similară cu cea în fișierul style.css:

<? php

/ **

* Format Nume: Pagină personalizată de tip 1

** /

>?

După ce configurați fișierul șablon particularizat, se activeaza cutie o nouă opțiune în pagina

Atribute de pe partea dreaptă

a paginii editor (vezi Figura 2-9).

III.5 Formatele Post

Formatele Post sunt relativ noi pentru WordPress; au fost introduse în versiunea

3.1(Gershwin). Acestea permit utilizatorilor să adauge metadate specifice într-un post care să permită formatare mai specific si styling in tema. WordPress are o listă de formate standardizate poștale care sunt în mod special control ate să fie sprijinite într-o largă gamă de teme și au potențialul de a permite instrumente externe pentru a accesa fun cția într-un mod coerent. Teme nu trebuie să sprijine lista completă sau chiar susține formatele, la toate, dar adăugarea uno r metadate simplu este un mare mod de a adăuga unele personalizare ușor la o temă.

Aceasta este o astfel de mare plus WordPress că în noul implicit Tema Douăzeci Treisprezece este un accent major asupra manifestare off capacitatea formatele poștale pentru a crea teme frumoase si dinamice. De fapt, unul dintre principalele focare . de actualizarea versiunii 3.6 a fost de a îmbunătăți UI din formatele poștale, oferindu-le mai mult accent în post admin, dar o mica selectie include urmatoarele:

 galeria

 imagini

 videoclip

 stare

 citat

Formatele sunt etichetate pentru a oferi postul ei atașat la mai context și p entru a permite o mai bună aspectul sau styling bazat pe formatul. De exemplu, formatul de imagine ar trebui să fie utilizate pentru un post care conține o singură imagine ca accentul principal, iar formatul video ar trebui utilizat pentru un post care conține un videoclip. Formate, cum ar fi acestea permit imaginea sau videoclipul să fie stil diferit și, probabil, ca punctul central al postului, în loc de un display mesaj generic, care ar putea rendera mai mici de imagine și nu atrage nici o atenție suplimentară.

Prin adăugarea unui format pentru un post, WordPress doesnt Nu schimba modul în care stochează sau face post; se lasă până la

. tema de control, fie prin interogarea formatul poștă sau accesarea ea prin clasa poș tă

Pentru a activa formate poștale, trebuie să folosiți funcția add_theme_suppo rt () apare pe site aici:

add_theme_support ("post-formate", array ("imagine", "Galeria", "video '));

Functia add_theme_support () de obicei durează doar un parametru: numele caracteristica pe care doriți să adăugați la tema. Pentru a activa formatele poștale, cu toate acestea, aveți nevoie pentru a trece un al doilea parametru în formă de o serie de formate pe care doriți să le includeți. Dacă nu treci o serie de formate, WordPress nu se afișează nicio opțiune; doar caseta opțiune afișează. Dupa ce includ codul anterior, veți vedea o casetă opțiune apare în partea dreaptă a paginii editor (vezi Figura alăturată).

În mod implicit, formate post pot fi folosite pentru posturi și tipuri de postare personalizate dacă se specifică atunci când le creați, dar nu de pagini. Pentru a adăuga formate adauga la pagini, aveți nevoie pentru a apela funcția de add_post_type_support () ca aceasta:

// adauga post-formate la post_type "pagina" add_post_type_support( 'page', 'post-formats' );

Există multe modalități de a accesa format in tema posta; de exemplu, puteți utiliza o etichetă condiționată a verifica în fișierul șablon dacă postul are un anumit format:

if( has_post_format('video') ):

// do something endif;

Puteți obține formatul post de string PHP:

$format = get_post_format($post_id);

Ai putea folosi apoi aceste informații în orice mod doriți în ș ablonul pentru a af ișa bara diferit. Dacă această funcție este numit în interiorul buclei, nu aveți nevoie pentru a trece în

valoarea $ post_id. Cea mai comună utilizare a acestei metode de a obține formatul posta este de a apela într-o parte special șablon, așa cum se arată în acest cod utilizat în tema Twenty Twelve:

<?php get_template_part( 'content', get_post_format() ); ?>

În acest cod, tema este utilizând formatul post de parametru în funcția de get_template_part () pentru a include un fișier șablon separat pentru a utiliza în mod specific cu posturi, cu un anumit format.

Părțile Șablon

Vă puteți gândi de bază fișierele ș ablon header.php și footer.php ca părți ș ablon, precum; singura diferență este că acestea sunt fișiere comune care au fost folosite în WordPress pentru mulți ani și vin cu propriile funcții pentru incluziune. În versiunea 3.0, WordPress a introdus funcția get_template_part (), care vă permite să includă parțiale fișiere șablon pentru utilizare în tema cu o funcție nativ în WordPress. Înainte de a fost introdus această funcție, ar fi trebuit să folosească un PHP standard includ.

Puteți crea piese șablon cu orice convenție de denumire atâta timp cât evitați șabloanele reyervate discutate anterior. Functia get_template_part () funcționează cu doi parametri: un melc și un nume specific pentru fișierul șablon. Se presupune că numele sunt alcătuite: slug – name.php. Deci, dacă vă asumați formatul posta va fi videoclip pentru fragmentul de cod anterior, funcția va include fișierul conținut video.php de principal directorul tema, dacă acesta există. Dacă fișierul tema nu există, funcția încearcă să găsească un fi șier șablon folosind doar slug parametrul trecut (content.php); Dacă tot nu se poate găsi un fișier de potrivire numele, în lo c să arunce o eroare de genul un PHP includ ar pur si simplu nu va include nimic.

Dacă doriți să stocați piesele tale șablon într -un subfolder în interiorul tema dvs. pentru a ajuta la menținerea dvs. temă curat si ordonat,

puteți trece structura de fișiere a limaxul ca parte a primului parametru astfel:

<?php get_template_part( 'parts/content', get_post_format() ); ?>

III.6 Mai Multe Setări de Temă

Există unele convenții și cele mai bune practici de urmat atunci când configurați tema. Acestea includ modul de structurare a sistemului de fișiere de temă și cum să încărcați în foi de stil și fișiere

JavaScript. O să-ți arăt câteva sfaturi cu privire la anatomia tema dvs. pentru a face lucrurile un pic mai ușor pentr u tine, atunci când l dezvolte.

Tema Structură Folder

Știți deja că temele reședința în wp -content / teme / directorul. Dar în temele voastre au adesea o serie de fișiere șablon, foi de stil, JavaScript fișiere și imagini. Pentru a păstra tema ordonat și ușor de gestionat, următoarele este o structură de folder de bază bazate pe teme implicite din trecut și propria mea experiență de dezvoltare tema:

 /: Directorul temă rădăcină este locul unde sunt stocate toate fișierele șablon pri ncipală și fișierul style.css. Orice fișier șablon veți găsi în ierarhia șablon ar trebui să fie depozitate aici pentru a se asigura că WordPress poate încărca șablonul atunci când este necesar.

 / images /: Principalul dosar de toate imaginile folosite în tema. Aceste imagini sunt cele de obicei utilizate pentru prezentarea și stilul de temei, care sunt diferite de imagini încărcate la WordPress ca conținut, care sunt stocate în imagini încărcate folder în wp-content /.

 / JS /: Toate fișierele JavaScript trebuie să fie depozitate în propria lor folder (ar putea fi, de asemenea, numit javascript, în funcție de preferințele personale).

 / Limbi /: Dacă tema este multilingv, toate fișierele limbi ar trebui să fie stocate într-un limbi

. director (cea mai bună practică, nu o cerinta WordPress)

 / css /: Toate fișierele CSS suplimentare ar trebui depozitate și încărcate de o css / director.

 / inc /:. Poate fi utilizat pentru fișiere suplimentare PHP care pot fi neces are pentru a funcționa în tema Ca un exemplu, puteți grup comun Funcțiile din interiorul propriul dosar în folder inc înainte de a le încărca în fișierul functions.php. Aceasta este, de asemenea, o practică comună printre alte teme.

 / SCSS / sau / mai /: Dacă am folosi un preprocesor CSS, îmi place să păstreze fișierele situate în temei și de a folosi un compilator, cum ar fi Codekit sau setările specifice în configurația de Compass a le compila în style.css în rădăcina temei.

Asta e despre asta pentru structura dosar. Este posibil să fi văzut unele teme alte dosare, cum ar fi pagina-template

sau parțiale a pieselor șablon grupa a le menține organizate, dar acest lucru este de până la tine și nu este o cerință.

Încărcare Stiluri și Scripturi

După cum ați văzut mai devreme, nu foi de stil sau scripturi au fost încărcate în HTML în <head> a documentului principal deoarece puteți utiliza acum o funcție în WordPress pentru a adăuga foi de

stil și script fișiere dinamic. Acest lucru are câteva avantaje, în care toate script -urile și foile de stil pot fi adăugate la tema într-un singur loc și distribuite în locurile corecte în <head> și sfârșitul documente. Puteți adăuga, de asemenea lucruri cum ar fi numere de versiune programatic.

Ambele tipuri de fișiere are două funcții separate care pot fi folosite pentru a insera foi de stil și script -uri în paginile:

 wp_register_style ()

 wp_register_script ()

 wp_enqueue_style ()

 wp_enqueue_script ()

Inregistrare funcții sunt folosite pentru a spune WordPress este o foaie de stil sau script disponibile pentru a fi utilizate și dau un mâner. Funcțiile Puneți în coadă sunt folosite pentru a adăuga foaia de stil sau scrierea pe o pagină WordPress generat fie prin wp_head () sau wp_footer ().

Adăugare Stiluri

Primul rând, iată cum să se înregistreze și să adăugați foaia de stil principal pentru tema:

// Get the current theme object

$theme = wp_get_theme();

wp_register_style( 'prowordpress-style', get_stylesheet_uri(), false, $theme->Version, 'screen');

wp_enqueue_style('prowordpress-style');

Utilizarea funcțiilor precedente, apelați wp_register_style () cu următorul:

 Un mâner pentru foaia de stil (pentru a fi utilizate ulterior în funcția wp_enqueue_style)

 Locul a fișierului în acest caz, utilizarea get_styles heet_uri funcția WordPress ()

 Orice dependențe pentru acest foaie de stil (false dacă nu)

 Versiunea temă folosind obiectul tema ați întrebat de anterior

 tipul de suport, în acest ecran caz.

Apoi, utilizând mânerul setați în funcția anterioară, adăugați stilul cu funcția wp_enqueue_style (). În cele mai multe site-uri am dezvolta acum, am folosi o foaie de stil separat pentru versiuni mai vechi ale unui anumit browser. De aici, este greu pentru a vedea cum că ar fi făcut, pentru că este în cazul în care ar fi utilizat comentariile conditionale HTML. Din fericire, WordPress are o funcție pentru care, de asemenea. Iată codul am folosi pentru a include o foaie de stil specific pentru un anumit browser supărătoare:

wp_styles globale $;

wp_register_style ("patience-ie", get_template_directory_uri () "/ie-old.css",. array

("stil patience"));

$ wp_styles-> add_data ("patience-ie", "condiționată" "LTE IE 7");

wp_enqueue_style ("patience-ie");

În acest cod de mai sus veți obține o referință la $ wp_styles WordPress global în care sunt înregistrate toate stilurile stocate. Vă puteți înregistra stilul tău normal, dar cu adaos de dvs. foaie de stil principal ca dependență, se va primi adăugat șabloanele după foaia de stil principal. După ce vă înregistrați stilul, utilizați funcția de add_data () $ wp_styles global pentru a adăuga un condiționată în jurul stilul cu condiția "LTE IE 7".

Adăugare JavaScript

Adăugarea JavaScript pentru o temă este aproape la fel ca adăugarea o foaie de stil. Singura diferență este că înlocuiți parametrul de stabilire a unui tip de suport pentru foaia de stil cu un parametru boolean care arată dacă scenariul ar trebui încărcată în subsolul sau antetul (valabil pentru subsol, false pentru antet, implicit este falsă).

Iată un exemplu de cum să includă o JavaScript fișier în temă:

$ tema = wp_get_theme ();

wp_register_script ("core", get_template_directory_uri () "/javascript/core.js, array (" jquery "),.

$ theme-> Versiunea, true);

În acest exemplu, utilizați jQuery ca mâner pentru o dependență pe script-ul te încarcă. WordPress are o versiune de jQuery încărcat ca un default, dar în funcție de cât de recent versi unea de WordPress este și dacă ați ținut WordPress la zi (Sper), s-ar putea să nu aibă întotdeauna cea mai recentă versiune de jQuery pentru a utiliza în dumneavoastră temă. Pentru a asigura acest lucru nu este cazul, puteți încărca jQuery folosind un fragment scurt de cod:

if (!is_admin()) {

wp_deregister_script('jquery');

wp_register_script('jquery', ("http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"), false);

wp_enqueue_script('jquery');

}

Acest bit de control de cod dacă WordPress este încercarea de a încărca o pagină admin;

dacă este, nu vrei să suprascrie cea mai recentă versiune a cadrului doar în cazul în care zona de

admin WordPress folosește cod care depinde de versiunea de jQuery pachet cu sistemul de management al conținutului (CMS). Scoateți versiunea jQuery înregistrat wp_deregister_script () și apoi să includă propria utilizând versiunea găzduit-API Google a codului.

 Notă Puteți descărca propria versiune a jQuery pentru pachet cu tema, dar versiunea API Google este atât de utilizat pe scară largă acum, o mulțime de oameni deja l-au cache și gata de utilizare, care îmbunătățește performanța site-ul dvs. ca un întreg. tu, de asemenea, nu va trebui să vă faceți griji cu privire la mențin erea versiunea jQuery până la data, deoar ece Google are grijă de ea.

În cazul în care ar trebui să includă aceste stiluri și scripturi? În mod normal, să fac acest lucru în interiorul fișierul functions.php, deoarece păstrează totul într-un singur loc, pentru a permite fișierele șablon mai ușor de gestionat și mai curate.

Etichetele Condiționate

Etichetele Condiționate din WordPress sunt legate strâns de ierarhia șablon, cu cele mai multe tipuri de fișier șablon disponibil fiind acoperită de o etichetă condiționată (de exemplu, is_front_page ()).

Fiecare funcție pur și simplu returneaza true sau false, și pot fi folosite în interiorul sau în afara buclei fără a fi nevoie să treacă un ID mesaj la funcția. Unele etichete condițion ate face accepta parametri, cu toate acestea, care sunt utilizate în plus față de funcția principală eticheta condiționată a restrânge starea. Un exemplu este is_single () eticheta condiționată care acceptă parametri într-o serie de formate:

 is_single () în cazul în care este afișat un singur post

 is_single (7) în cazul în care este afișat un singur post cu ID-ul 7

 is_single ("Hello lume ") în cazul în care un singur post cu titlul" Hello World "este afișat.

 is_single ("salut-verbal"), în cazul în care un singur post cu glonțul "salut lume" este afișat.

 is_single (array (7, "salut -World "," Bob are pantofi noi ")) dacă oricare dintre condițiile

în trecut prin matrice este adevărat. O matrice poate fi transmisă cu oricare dintre precedente valorilor, în orice ordine sau în format. În cazul în care postul este afișat corespunde nici

unul dintre ei, ea returneaza true.

Cel mai bun exemplu de utilizare a WordPress tag-uri condiționale este în șablonul archive.php de oricare dintre implicite temele WordPress, care le utilizează pentru a afișa un alt titlu în funcție de tipul de arhivă afișat:

<h1 class="archive-title"><?php if ( is_day() ) :

printf( ( 'Daily Archives: %s', 'twentytwelve' ), '<span>' . get_the_date() . '</span>' );

elseif ( is_month() ) :

printf( ( 'Monthly Archives: %s', 'twentytwelve' ), '<span>' . get_the_date( _x( 'F Y',

'monthly archives date format', 'twentytwelve' ) ) . '</span>' );

elseif ( is_year() ) :

printf( ( 'Yearly Archives: %s', 'twentytwelve' ), '<span>' . get_the_date( _x( 'Y',

'yearly archives date format', 'twentytwelve' ) ) . '</span>' );

else :

_e( 'Archives', 'twentytwelve' );

endif;

?></h1>

Află care Șablon este utilizat

Înainte de a începe crea propria temă, vreau să împărtășesc un fragment de cod Imi place sa folosesc care funcționează într -un mod similar cu WordPress funcții condiționate, dar permite -mi să verifice care fișier șablon este folosit pe un anumit pagină. Acesta poate fi de asemenea utilizat pentru a reveni numele șablonului curent, așa că am putea vedea care șablon este utilizat pentru scopuri de depanare:

function prowordpress_is_template( $name = false ) {

global $post;

$template_file = get_post_meta($post->ID,'_wp_page_template',TRUE);

// check for a template type if( $name ):

if ( $name === $template_file ):

return true;

else:

return false;

endif;

else:

return $template_file;

endif;

}

Funcția are un parametru de numele șablonului sunteți de verificare împotriva, și folosind metadatele _wp_page_template atașat la postul curent sau pagina afișată, revine adevărat sau fals dacă acestea se potrivesc. Acesta poate fi utilizat în cazul în care doriți să includeți doar anumite funcționalități în dosarul funcții atunci când anumite modele sunt utilizate. De exemplu, un script personalizat sau stilul fișier foaie care se referă numai la un șablon specific poate fi coada de așteptare folosind această funcție condiționată:

if ( prowordpress_is_template('custom-template-1.php') ) {

wp_enqueue_style('custom-template-style');

}

Capitolul IV

Construirea unei aplicații „WordPress Theme”

Aceasta Thema WordPress a fost creata cu bootstrap framework pentru blog-ul meu pentru o asezare mai buna in pagina a logo-ului, iconitelor de socializare, barei de meniuri si cautare, widget-uri etc. atunci cand este vizualizat blog-ul de pe PC dar si mai ales atunci cand este vizualizat de pe dispozitive mai inguste, gen smartphone, tablete etc. La acest blog doar eu sunt utilizatorul si administratorul care inseamna ca doar eu ma loghez si pot sa editez articole etc. Vizitatori se pot abona la blog daca doresc sa fie notificati prin e-mail cu privire la noile articole adaugate si mai au si dreptul sa adauge comentarii la articole introducand datele, adresa de e-mail, nume si optional pagina web.

IV.1 Logo-ul

Am folosit din bootstrap class: „col-md-6 col-sm-12” [15] pentru a fi full-responsive iar cu acest cod am vrut sa obtin un logo, si anume numele meu in care un vizitator cand vrea sa dea click pe el sa-l duca la prima pagina. Am creat o conditie IF sa ma ajute sa ramana acelasi logo pentru fiecare sub-domeniu si sa fie schimbat decat subiectul blogului: de ex: Cîrtog Florin, Android, Programming, Dezasamblari.

// . . .

<div class="col-md-6 col-sm-12 wl_rtl" >

<div class="logo">

<a href="<?php echo esc_url(home_url( '/' )); ?>" title="<?php echo esc_attr( get_bloginfo( 'name', 'display' ) ); ?>" rel="home">

<?php if('' =="1") { echo get_bloginfo('name'); } else { echo __('Cîrtog Florin','patience'); } ?>

</a><!–<p><?php bloginfo( 'description' ); ?></p>–></div></div>

// . . .

IV.2 Rețele Socializare Antet

Pentru retele de socializare am folosit clasa din bootstrap: „col-md-6 col-sm-12” [15] din bootstrap pentru mutarea in partea dreapta si potrivirea in locul ala si mutarea si potrivirea sub logo atunci cand blog-ul este vizualizat de pe un dispozitiv mai ingust de 767px. Am folosit apoi „data-toggle=”tooltip” pentru un effect tip balonas din bootstrap cu titlul ca ex. „Facebook”, apoi am folosit codul asta: „data-placement="bottom" ”, pentru plasarea si vizualizarea titlului

cand treci cu mouse-ul deasupra lui, sa fie in partea de jos.La fel am procedat si in fisierul footer.php, doar ca aici am ales sa se vada titlul in partea de sus. Apoi am folosit: ex. fa fa-facebook pentru iconite de pe site-ul fontawesome.io.

// . . .

<div class="col-md-6 col-sm-12"><ul class="social">
<li class="github" data-toggle="tooltip" data-placement="bottom" title="GitHub">
<a target="_blank" href="https://github.com/cirtogflorin">
<i class="fa fa-github"></i></a></li>
<li class="facebook" data-toggle="tooltip" data-placement="bottom" title="Facebook">
<a target="_blank" href="https://www.facebook.com/cirtogflorin">

<i class="fa fa-facebook"></i></a></li>
<li class="twitter" data-toggle="tooltip" data-placement="bottom" title="Twitter">
<a target="_blank" href="https://twitter.com/cirtogflorin"><i class="fa fa-twitter"></i></a></li>

<li class="gplus" data-toggle="tooltip" data-placement="bottom" title="Google+">
<a target="_blank" href="https://plus.google.com/+cirtogflorinlucian"><i class="fa fa-google-plus"></i></a></li><li class="rss" data-toggle="tooltip" data-placement="bottom" title="RSS">
<a target="_blank" href="http://programare.cirtogflorin.ro/feed/"><i class="fa fa-rss"></i></a></li></ul></div>

// . . .

Am creat apoi un fisier JavaScript sa folosesc libraria jQuery pentru efect „patience_theme_script.js” in directorul „js”.

// . . .

//patience social tooltip js

jQuery(function(){jQuery('li').tooltip();

jQuery("[data-toggle='tooltip']").tooltip();

jQuery("[data-toggle='popover']").popover();

});

// . . .

IV.3 Bara de Navigație Meniu

In primul rand am adaugat in fisierul functions.php,un fisier personalizat „default.css” sub „boostrap.css” pentru ca orice cod vreau ca sa rescriu din „bootstrap.css” sa-l adaug in „default.css”.

Am adaugat in fisierul „functions.php” codul asta:

// . . .

register_nav_menu( 'primary', __( 'Primary Menu', 'patience' ) );

// . . .

Pentru a activa bara de meniuri.

Am adaugat „container” pentru ca latimea sa fie de 1170px. Am adaugat apoi „navbar” pentru a folosi din bootstrap margini, borduri etc.

// . . .

<div class="container navbar-container" >

// . . .

Mai departe am folosit „navbar-inverse” la fel ca si cuvantul cheie din bootstrap pentru a-l rescrie cu un cod care foloseste „linear gradient” in „default.css” sa-i dea un efect de butoane reale. Am folosit „affix-top” din bootstrap care este un fisier java script, pentru a muta bara de navigatie in partea de sus atunci cand utilizatorul scrolleaza de mouse in jos, si sa-i fie mai usor si de ajutor daca doreste sa navigheze in alta parte. La „data-offset-top” am scris „250” pentru a se muta sus imediat ce atinge inceputul bara de navigatie. [15]

// . . .

<nav class="navbar navbar-inverse affix-top" data-offset-top="250" data-spy="affix" id="patience_nav_top" role="navigation">

// . . .

Am adaugat elementul „span” pentru a introduce o poza cu umbre in care i-am dat un id cu numele „header_shadow” sa aranjez din css marginile etc.

// . . .

<span id="header_shadow"></span>

// . . .

Prin clasa creata „navbar-header” am creat un buton si inauntrul lui trei linute orizontale prin codul HTML „span”care seamana cu un „haburggher” . Acest buton cand va fi apasat va deschide o bara de meniuri in verticala.

// . . .

<div class="navbar-header">

<button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#menu">

<span class="sr-only"><?php _e('Toggle navigation','patience');?></span>

<span class="icon-bar"></span>

<span class="icon-bar"></span>

<span class="icon-bar"></span>

</button>

</div>

// . . .

Prin functia „wp_nav_menu” creez un tablou pentru bara de meniuri, creand si un obiect patience_nav_walker din fisierul patience_nav_walker in care aceasta clasa extinde clasa din PHP Walker_Nav_Menu.

/ . . .

<div id="menu" class="collapse navbar-collapse ">

<?php wp_nav_menu( array(

'theme_location' => 'primary',

'menu_class' => 'nav navbar-nav',

'fallback_cb' => 'patience_fallback_page_menu',

'walker' => new patience_nav_walker(),

)

); ?>

/ . . .

Prin acest cod CSS am vrut sa obtin o culoare de albastru mai inchis si sa inceapa cu un albastru inchis din stanga partea de jos si sa se termine cu un albastru mai deschis in dreapta sus si sa-i dea un efect de butoane reale.

.navbar-inverse {

background-image: -webkit-linear-gradient(top, #2675a5 0%, #03396c 100%);

background-image: -o-linear-gradient(top, #2675a5 0%, #03396c 100%);

background-image: -webkit-gradient(linear, left top, left bottom, from(#2675a5), to(#03396c));

background-image: linear-gradient(to bottom, #2675a5 0%, #03396c 100%);

filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff2675a5', endColorstr='#ff222222', GradientType=0);

filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);

background-repeat: repeat-x;

}

Am vrut sa obtin un efect diferit, gen de buton de meniu apasat si activ cu umbre.

.navbar-inverse .navbar-nav > .open > a,

.navbar-inverse .navbar-nav > .active > a {

background-image: -webkit-linear-gradient(top, #005b96 0%, #03396c 100%);

background-image: -o-linear-gradient(top, #005b96 0%, #03396c 100%);

background-image: -webkit-gradient(linear, left top, left bottom, from(#005b96), to(#03396c));

background-image: linear-gradient(to bottom, #005b96 0%, #03396c 100%);

filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff005b96', endColorstr='#ff03396c', GradientType=0);

background-repeat: repeat-x;

-webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, .25);

box-shadow: inset 0 3px 9px rgba(0, 0, 0, .25);

}

Pentru borduri meniu am folosit 2 culori de albastru: unul mai inchis si unul mai deschis in fisierul „deafult.css”. Borduri am folosit si la submeniuri (drop-down), bara de cautare, bara de meniuri pentru dispozitive inguste si butonul navbar-colapse pentru dispozitivele inguste.

/ . . .

.navbar .nav>li { line-height:30px; border-left:1px solid #03396c; border-right:1px solid #2675a5; }

/ . . .

/ . . .

.navbar-inverse .navbar-toggle { border-color: #03396c #03396c #2675a5; border-top: 1px solid #03396c;

border-bottom: 1px solid #2675a5; }

.navbar-inverse .navbar-nav > li > a { line-height:30px; border-bottom:1px solid #03396c;

border-top:1px solid #2675a5; }

/ . . .

Pentru submeniuri varianta de 1200px si vaianta de sub 1200px, pentru dispozitivele mobile, dispozitivele inguste am folosit codul asta cu tranzitii (transition) in fisierul „default.css”.

/ . . .

.dropdown-menu>li>a { -webkit-transition:all 0.3s ease-in; -moz-transition:all 0.3s ease-in;

-ms-transition:all 0.3s ease-in; -o-transition:all 0.3s ease-in; transition:all 0.3s ease-in;

color:#fff; border-top:1px solid #2675a5; border-bottom:1px solid #03396c; padding:9px 20px; }

.dropdown-menu>li>a:hover, .dropdown-menu>li>a:focus, .dropdown-submenu:hover>a,

.dropdown-submenu:focus>a { -webkit-transition:all 0.3s ease-in; -moz-transition:all 0.3s ease-in;

-ms-transition:all 0.3s ease-in; -o-transition:all 0.3s ease-in; transition:all 0.3s ease-in;

background-color:#03396c; }

.dropdown-menu>.active>a, .dropdown-menu>.active>a:hover, .dropdown-menu>.active>a:focus {

color: #ffffff; text-decoration: none; outline: 0; background-color: #03396c; }

/ . . .

IV.4 Bara de Navigație Căutare

Am creat un widget in felul urmator: in primul rand am creat un director „inc” de la includes, apoi inauntrul lui am creat alt director „widgets” iar aici am creat un fisier „PatienceSearchWidget.php”, unde la fel i-am dat si numele clasei si am extins prin cuvantul cheie „extends” WP_Widget. Intai de asta am creat o conditie, asigurandu-ma ca daca clasa nu exista sa o foloseasca pe cea care am creat-o.

if (!class_exists('PatienceSearchWidget')) {

class PatienceSearchWidget extends WP_Widget {

// . . .

Dupa asta am inregistrat in fisierul functions.php o bara laterala cu tablou pentru bara de cautare prin comanda „register_sidebar” in functia creata de mine „patience_widgets_init”, apoi am adaugat sub ultima acolada a functiei urmatorul cod hook pentru a adauga actiunea: „add_action( 'widgets_init', 'patience_widgets_init'); ”.

„widgets_init” este codul hook si „patience_widgets_init” este functia creata.

// . . .

if (!function_exists('patience_widgets_init')) {

/*

* patience widget area

*/

function patience_widgets_init() {

// …

register_sidebar(array(

'name' => __('Navigation bar right', 'patience'),

'id' => 'navbar-right',

'before_widget' => '',

'after_widget' => '',

'before_title' => '',

'after_title' => '',

));

// …

add_action( 'widgets_init', 'patience_widgets_init');

// …

In fisierul header.php am adaugat codul asta:

<?php dynamic_sidebar('navbar-right'); ?> in codul „div” cu id-ul „menu”, sub functia „wp_nav_menu”.

Este o practica buna sa creez mai multe fisiere php daca am mult cod, ca sa nu adaug tot codul in functions.php sa fie foarte incarcat. Este mai curat in felul asta. Deci daca sunt mai multe fisiere php am creat asa: de ex.am creat intai un director „inc” iar mai departe pentru bara de navigatie meniu am separat in doua fisiere php unde sunt localizate in ../inc/menu/default_menu_walker.php si respectiv ../inc/menu/patience_menu_walker.php. La fel am procedat si pentru widgets: ../ inc/widgets/PatienceSearchWidget.php. Iar pentru alt cod suplimentar am ales sa separ asa: ../inc/template-tags.php, in care in acest fisier se afla cod pentru paginatie, comentarii, avatar etc. Dupa ce am creat toate astea le-am adaugat in fisierul functions.php sa le foloseasca in felul urmator:

/ . . .

/** Customs */

require get_template_directory() . '/inc/template-tags.php';

/** Custom dropdown menu and navbar in walker class */

require get_template_directory() . '/inc/menu/patience_nav_walker.php';

require get_template_directory() . '/inc/menu/default_menu_walker.php';

/** Theme widgets */

require get_template_directory() . '/inc/widgets/PatienceSearchWidget.php';

Pentru crearea barei de cautare in CSS a trebuit sa folosesc „gradient” la fel ca bara de meniu.

/. . .

#cauta input {
background-image: -webkit-linear-gradient(top, #2675a5 0%, #03396c 100%);
background-image: -o-linear-gradient(top, #2675a5 0%, #03396c 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#2675a5), to(#03396c));
background-image: linear-gradient(to bottom, #2675a5 0%, #03396c 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff2675a5', endColorstr='#ff222222', GradientType=0);
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
background-repeat: repeat-x;

/ . . .

IV.5 Data, Avatar Autor, Secțiune de Comentarii, Funcție de Editare

Am creat prima oara in PHP codul asta in „post-content.php” . Am folosit functia wordpress „comments_pop_link()” pentru a afisa numarul de comentarii si ca atunci cand un vizitator va da click pe pe ele sa-l duca direct la comentarii sa vada comentariile si daca vrea sa lase si el comentariu. La functia de editare, am adaugat o conditie in care am intrebat daca utilizatorul, care sunt eu, este logat sa pot edita articolul si am mai adaugat si functia wordpress edit_post_link().

// . . .

<ul class="blog-date-left">

<li class="patience_post_date">

<?php if ( ('d M y') == get_option( 'date_format' ) ) : ?>

<span class="date"><?php echo get_the_date('d'); ?></span><h6><?php echo get_the_date('M y'); ?></h6><?php else : ?><span class="date"><?php echo get_the_date(); ?></span>

<?php endif; ?></li>

<li class="patience_post_author"><?php echo get_avatar(get_the_author_meta( 'ID' ),96); ?></li>

<li class="patience_blog_comment"><i class="fa fa-comments-o"></i><h6><?php comments_popup_link( '0', '1', '%', '', '-'); ?></h6></li>

<?php if ( is_user_logged_in() ) : ?><li class="patience_blog_edit"><i class="fa fa-pencil-square-o"></i><h6><?php edit_post_link(__( 'Edit', 'patience' )); ?> <?php endif; ?></h6></li>

</ul>

/ . . .

In fisierul „style.css” am folosit codul asta:

/ / . . .

.patience_post_date { padding-top: 10px; padding-left:10px; padding-right:10px; //… }

.patience_post_date span.date { font-size: 16px; line-height: 35px; margin-left: -2px; }

.patience_post_date h6 { font-size: 14px; // . . . }

.patience_post_author img { height: 100px !important; width: 100px !important; max-width: 100%; }

.patience_post_author { width: 100px; text-align: center; margin-top: 0px; }

.patience_blog_comment{ border-radius: 0px;

// . . .

}

.patience_blog_comment a{ color:#999999; }

.patience_blog_comment i{ font-size: 68px; line-height: 55px; transition: all 0.4s ease 0s; }

.patience_blog_comment h6 { font-size:16px; color:#999999; transition: all 0.4s ease 0s; }

.patience_blog_edit { border-radius: 0px; // . . . }

.patience_blog_edit a { color:#428BCA; }

.patience_blog_edit i { font-size: 60px; line-height: 55px; transition: all 0.4s ease 0s; padding-left: 10px; }

.patience_blog_edit h6 { font-size:16px; color:#999999; transition: all 0.4s ease 0s; }

IV.6 Conținut

Folosesc sablonul „post.php” care face referire la „post-content.php” si oricare sablon care incepe cu „post”. In acest sablon adaug „container” iar pentru a afisa corect trebuie sa adaug inauntrul lui „row”, si pentru a fi responsive apoi trebuie sa adaug „col-md-8”. Prin functia get_template_part(), vreau sa obtin orice sablon care incepe cu „post” si „page”.

<?php get_header();

/*get_template_part('breadcrums');*/ ?>

<div class="container"><div class="row patience_blog_wrapper"><div class="col-md-8">

<?php get_template_part('post','page'); ?></div><?php get_sidebar(); ?></div></div><?php get_footer(); ?>

Pentru latimea paragrafelor si a articolelor am folosit codul asta PHP in „post-content.php”:

<div class="post-content-wrap">

<?php if(has_post_thumbnail()):

$img = array('class' => 'patience_img_responsive'); ?>

<div class="patience_blog_thumb_wrapper_showcase">

<div class="patience_blog-img">

<?php the_post_thumbnail('blog_2c_thumb',$img); ?> </div> <?php if (is_home()) : ?>

<div class="patience_blog_thumb_wrapper_showcase_overlay">

<div class="patience_blog_thumb_wrapper_showcase_overlay_inner ">

<div class="patience_blog_thumb_wrapper_showcase_icons">

<a title="<?php the_title_attribute(); ?>" href="<?php the_permalink(); ?>">

<i class="fa fa-link"></i></a> </div> </div></div> <?php endif; ?> </div> <?php endif; ?>

<div class="patience_fuul_blog_detail_padding">

<h2 class="title_h2"><?php if(!is_single()) {?><a href="<?php the_permalink(); ?>"><?php } ?><?php the_title(); ?></a></h2>

<?php the_content( __( 'Citeste Mai Mult' , 'patience' ) );

$defaults = array(

'before' => '<div class="patience_blog_pagination"><div class="patience_blog_pagi">' . __( 'Pages:','patience' ),

'after' => '</div></div>',

'link_before' => '',

'link_after' => '',

'next_or_number' => 'number',

'separator' => ' ',

'nextpagelink' => __( 'Pagina urmatoare' ,'patience' ),

'previouspagelink' => __( 'Pagina precedenta' ,'patience'),

'pagelink' => '%',

'echo' => 1

);

wp_link_pages( $defaults ); ?> </div></div>

IV.7 Bara Laterală

Folosesc fisierul „sidebar.php”:

<div class="col-md-4 patience-sidebar">

<?php if ( is_active_sidebar( 'sidebar-primary' ) )

{ dynamic_sidebar( 'sidebar-primary' ); }

else {

$args = array(

'before_widget' => '<div class="patience_sidebar_widget">',

'after_widget' => '</div>',

'before_title' => '<div class="patience_sidebar_widget_title"><h2>',

'after_title' => '</h2></div>' );

the_widget('WP_Widget_Archives', null, $args);

} ?>

</div>

Conditia spune asa: daca „sidebar-primary” este activa sa foloseasca „dynamic_sidebar(’sidebar-primary’)” -> care se afla in functions.php:

// . . .

function patience_widgets_init() {

// . . .

/*sidebar*/

register_sidebar( array(

'name' => __( 'Sidebar', 'patience' ),

'id' => 'sidebar-primary',

'description' => __( 'The primary widget area', 'patience' ),

'before_widget' => '<div class="patience_sidebar_widget">',

'after_widget' => '</div>',

'before_title' => '<div class="patience_sidebar_widget_title"><h2>',

'after_title' => '</h2></div>'

) );

// . . .

Altfel, sa foloseasca restul de jos.

Pentru personalizare sidebar in CSS, folosesc codul asta in fisierul de stil „style.css”.

// . . .

.patience_recent_widget_post { margin: 0 0 5px !important; padding-bottom: 16px;

border-bottom: 0px solid #6B6B6B; vertical-align:middle; }

.patience_recent_widget_post:last-child{ margin: 0 0 0px !important; }

.patience_recent_widget_post h3 , .patience_footer_widget_column ul li {

font-family: 'Open Sans', sans-serif; font-size: 14px; line-height: 20px; margin-bottom: 2px;

margin-top: -2px; }

.patience_recent_widget_post h3 a { transition: all 0.2s ease 0s; }

.patience_recent_widget_post h3 a:hover { color: #ffffff; }

.patience_recent_widget_post_move{ float: left; }

.patience_recent_widget_post_img { margin-right: 10px !important; width: 64px; height: 64px;

transition: opacity 0.3s ease-out 0s; display: block; }

.patience_recent_widget_post_date { font-family: 'Open Sans', sans-serif; font-size: 13px;

line-height: 20px; color: #ffffff; }

.patience_sidebar_widget { margin-bottom: 30px; margin-top: 10px; overflow: hidden;

box-shadow: 0 0 6px rgba(0,0,0,.7); padding: 0px 20px 15px 20px; }

.patience_sidebar_widget_title{ margin-bottom:20px; margin-left: -20px; margin-right: -20px;

text-align:center; padding-top:10px; padding-bottom:10px; }

.patience_sidebar_widget .patience_recent_widget_post_date{ color: #6a6a6a; }

.patience_sidebar_widget .patience_recent_widget_post h3 a:hover { color: #6a6a6a; }

.patience_sidebar_widget .patience_recent_widget_post h3 { font-weight: 600;

font-family: 'Open Sans', sans-serif; font-size: 18px; line-height: 20px; margin-bottom: 2px;

margin-top: -2px; }

.patience_sidebar_widget h3 { display: inline-block; font-weight: 600; font-family: 'Open Sans', sans-serif; font-size: 16px; line-height: 22px; margin-bottom: 5px; margin-top: 0px; }

.patience_sidebar_widget_title h2{ margin:0px; clear: both; font: normal normal 18px Oswald;

text-transform: uppercase; text-align: center; font-weight: normal; font-size: 22px; color: #fff; }

// . . .

IV.8 Pagina de Subsol

Folosesc fisierul „footer.php”.

<!– Footer Widget Section –>

<div class="container patience_footer_widget_area">

<div class="row">

<?php

if ( is_active_sidebar( 'footer-widget-area' ) ){

dynamic_sidebar( 'footer-widget-area' );

} else {

$args = array(

'before_widget' => '<div class="col-md-3 col-sm-6 patience_footer_widget_column">',

'after_widget' => '</div>',

'before_title' => '<div class="patience_footer_widget_title">',

'after_title' => '<div class="patience-footer-separator"></div></div>' );

the_widget('WP_Widget_Pages', null, $args);

} ?></div> </div>

Aici adaug conditii pentru verficare daca este activa, sa foloseasca ce este in fisierul „functions.php”, si anume:

// . . .

register_sidebar( array(

'name' => __( 'Footer Widget Area', 'patience' ),

'id' => 'footer-widget-area',

'description' => __( 'Footer Widget Area', 'patience' ),

'before_widget' => '<div class="col-md-3 col-sm-6 patience_footer_widget_column">',

'after_widget' => '</div>',

'before_title' => '<div class="patience_footer_widget_title">',

'after_title' => '<div class="patience-footer-separator"></div></div>',

) );

// . . .

Alfel sa foloseasca ce se afla in „footer.php”.

Pentru personalizare in CSS, folosesc urmatorul cod:

// . . .

.container { padding:0px !important; padding-left: 0px ; padding-right: 0px ; }

// . . .

// . . .

/* Footer area Section Css–––––––––––––––––––– */

.patience_footer_area{ padding: 10px 0 0px; }

.patience_footer_area p { font-family: 'Open Sans', sans-serif; line-height: 20px; font-size: 13px;

bottom:0; text-align:center; padding-top:12px; }

.patience_footer_area p { color: #f2f2f2; font-size:15px; }

.patience_footer_area p span{ color: #fa504b; }

.patience_footer_area p a { color: #000000; }

.patience_footer_area p a:hover { color: #ffffff; }

.patience_footer_copyright_info{ float:left; }

.patience_footer_social_div{ float:right; }

// . . .

IV.9 Rețele de Socializare si Drepturi de Autor in Pagina de Subsol

Aici la fel este valabil ca si in fisierul „header.php” pentru retele de socializare. Aici mai adaug si drepturile de autor si restul.

<div class="container patience_footer_area">

<div class="col-md-12">

<p class="patience_footer_copyright_info wl_rtl" >

<?php _e( 'Copyright © 2015 Cîrtog Florin | Web Design si Web Development de <a target="_blank" rel="nofolow" href="' . esc_url( 'http://cirtogflorin.ro' ) . '">CFL</a> | Găzduit de <a target="_blank" rel="nofolow" href="' . esc_url( 'https://rohost.com' ) . '">ROHOST</a>', 'patience' ); ?>

</p>

<div class="patience_footer_social_div">

<ul class="social">

<li class="github" data-toggle="tooltip" data-placement="top" title="GitHub">

<a target="_blank" href="https://github.com">

<i class="fa fa-github"></i></a></li>

<li class="facebook" data-toggle="tooltip" data-placement="top" title="Facebook">

<a target="_blank" href="https://www.facebook.com/cirtogflorin">

<i class="fa fa-facebook"></i></a></li>

<li class="twitter" data-toggle="tooltip" data-placement="top" title="Twitter">

<a target="_blank" href="https://twitter.com/cfl1305">

<i class="fa fa-twitter"></i></a></li>

<li class="gplus" data-toggle="tooltip" data-placement="top" title="Google+">

<a target="_blank" href="https://plus.google.com/+cirtogflorinlucian ">

<i class="fa fa-google-plus"></i></a></li>

<li class="rss" data-toggle="tooltip" data-placement="top" title="RSS">

<a target="_blank" href="http://programare.cirtogflorin.ro/feed/">

<i class="fa fa-rss"></i></a></li></ul></div></div></div>

IV.10 Scroll To Top

Folosesc codul asta in fisierul „footer.php”:

// . . .

<a href="#" title="Mergi Sus" class="patience_scrollup" style="display: inline;">

<i class="fa fa-chevron-up"></i></a>

// . . .

Pentru efecte folosesc jQuery in care l-am introdus in „patience_theme_script.js”:

jQuery(document).ready(function () { jQuery(window).scroll(function () {

if (jQuery(this).scrollTop() > 100) {

jQuery('.patience_scrollup').fadeIn();

} else {

jQuery('.patience_scrollup').fadeOut();

}

});

jQuery('.patience_scrollup').click(function () {

jQuery("html, body").animate({

scrollTop: 0

}, 600);

return false; }); });

Iar pentru personalizare in CSS in fisierul „style.css”:

/* Scroll To Top */

.patience_scrollup { width: 45px; height: 40px; opacity: 0.5; position: fixed; bottom: 100px;

/*left: 30px;*/ display: none; border-radius: 2px; text-align: center; color: #fafafa;

font-size: 25x; background: #005b96; z-index: 9999; -webkit-transition: all ease 0.5s;

-moz-transition: all ease 0.5s; transition: all ease 0.5s; }

.patience_scrollup i { line-height: 38px; font-size: 24px; vertical-align:middle; }

.patience_scrollup:hover{ opacity: 0.8; }

a.patience_scrollup:hover i, a.patience_scrollup:focus i { text-decoration: none; color: #fafafa; outline: none; }

Concluzii

Am ales WordPress pentru ca au o documentatie foarte larga si pe langa asta sunt foarte multe module pe care le poti instala pentru a-ti expanda blog-ul si pentru a-l face mai optimizat si a urca mai rapid in motoarele de cautare. Sunt si foarte multe theme bune, dar eu am vrut sa-mi creez una dupa preferintele mele si cu ocazia asta sa invat si programare web.

Referințe

[1] Brad Williams, David Damstra, Hal Stern, Editura John Wiley & Sons (2015), Professional

WordPress Design and Development

[2] Adam Onishi. Editura Apress(2013), Pro WordPress Theme Development

[3] Rakhitha Nimesh Ratnayake, Editura Packt Publishing(2013), WordPress Web Application

Development

[4] https://codex.wordpress.org/Theme_Development/

[5] http://www.chipbennett.net/themes/template-hierarchy/wordpresstemplatehierarchy-rev-8/

[6]http://themeshaper.com/2012/10/22/the-themeshaper-wordpress-theme-tutorial-2nd edition/

[7] https://en.wikipedia.org/wiki/WordPress/

[8] https://developer.wordpress.com/themes/

[9] https://codex.wordpress.org/Main_Page

[10] https://codex.wordpress.org/Theme_Development

[11] https://wordpress.org/themes/enigma/

[12] https://wordpress.org/themes/bootstrap-basic/

[13] https://wordpress.org/themes/bootstrap-canvas-wp/

[14] https://wordpress.org/themes/twentyfourteen/

[15] http://getbootstrap.com/

[16] http://fontawesome.io/

[17] https://api.jquery.com/

[18] https://developers.google.com/fonts/docs/getting_started

[19] http://www.w3.org/TR/CSS/

Referințe

[1] Brad Williams, David Damstra, Hal Stern, Editura John Wiley & Sons (2015), Professional

WordPress Design and Development

[2] Adam Onishi. Editura Apress(2013), Pro WordPress Theme Development

[3] Rakhitha Nimesh Ratnayake, Editura Packt Publishing(2013), WordPress Web Application

Development

[4] https://codex.wordpress.org/Theme_Development/

[5] http://www.chipbennett.net/themes/template-hierarchy/wordpresstemplatehierarchy-rev-8/

[6]http://themeshaper.com/2012/10/22/the-themeshaper-wordpress-theme-tutorial-2nd edition/

[7] https://en.wikipedia.org/wiki/WordPress/

[8] https://developer.wordpress.com/themes/

[9] https://codex.wordpress.org/Main_Page

[10] https://codex.wordpress.org/Theme_Development

[11] https://wordpress.org/themes/enigma/

[12] https://wordpress.org/themes/bootstrap-basic/

[13] https://wordpress.org/themes/bootstrap-canvas-wp/

[14] https://wordpress.org/themes/twentyfourteen/

[15] http://getbootstrap.com/

[16] http://fontawesome.io/

[17] https://api.jquery.com/

[18] https://developers.google.com/fonts/docs/getting_started

[19] http://www.w3.org/TR/CSS/

Similar Posts

  • E Learning. Aplicatie Pentru Invatare Asistata pe Calculator

    CAPITOLUL 1. Despre E-learning E-learning (sau eLearning) reprezintă utilizarea de media electronică și tehnologii informaționale și de comunicație (ICT) în educație. E-learning la general include toate formele de tehnologie educațională în educatie și învățare. E-learning este sinonim cu multimedia learning, technology-enhanced learning (TEL), computer-based instruction(CBI), computer-based training (CBT), computer-assisted instruction or computer-aided instruction (CAI), internet-based training (IBT), web-based training (WBT), online education, virtual education, virtual learning environments (VLE), m-learning. 1. În sens larg, prin elearning (sau e-learning) se înțelege…

  • Platforme de E Learnig

    LUCRARE DE LICENȚĂ Platforme de E-Learnig INTRODUCERE Proiectul tratează aspecte teoretice ale proiectării unei aplicații web, tehnologiile utilizate pentru dezvoltarea acesteia și transpune aceste aspecte în practică prin crearea unei aplicații web care are ca scop administrarea sarcinilor de lucru prin intermediul unei platforme e-learning. La început, în prima parte a anilor ‘90, World Wide…

  • Notiuni Introductive Jocuri

    CUPRINS CAPITOLUL 1 Notiuni introductive Jocuri Un joc este o activitate recreațională în care sunt implicați unul sau mai mulți jucători, fiind definit printr-un scop pe care jucătorii încearcă să-l atingă și un set de reguli care determină ce pot face jucătorii. Jocurile pot implica un singur jucător, dar mai des implică o competiție între…

  • Securitatea In Retelele Tcp Ip

    UNIVERSITATEA POLITEHNICĂ BUCUREȘTI FACULTATEA DE ELECTRONICĂ, TELECOMUNICAȚII ȘI TEHNOLOGIA INFORMAȚIEI LUCRARE DE LICENȚĂ Coordonator științific: S.l. dr. ing. ADRIAN FLORIN PĂUN Absolvent: CONSTANTIN MANEA București 2013 1 SECURITATEA IN RETELELE TCP/IP 2 3 CUPRINS: 1. Introducere 1.1 Tipuri de atacuri informatice Considerații generale privind securitatea în rețelele IP 1.2.1 Servicii de Securitate 1.2.2 Mecanisme de…

  • Problema Urmaririi Traiectoriei Impuse de Catre Un Robot Mobil Utilizand Reactia de Pozitie de la O Camera Video

    Cuprins Lista figurilor Figura 1 Structura sistemului de urmărire a traiectoriei cu reacție de la camera video………………1 Figura 1.1 Robotul Boe-Bot………………………………………………………………………5 Figura 1.2 Robotul MARK III……………………………………………………………………6 Figura 1.3 Robotul SRV-1 Blackfin………………………………………………………………6 Figura 1.4 Principiul de funcționare al encoderului magnetic……………………………………7 Figura 1.5. Sistemul GPS folosit pe roboți mobili…………………………………..……………8 Figura 2.1  Etape fundamentale în prelucrarea digitală de…