duminică, 14 noiembrie 2010

Cum afli calea relativă către directorul temei de wordpress

Dacă v-ați jucat mai mult prin wordpress, și eventual ați avut de făcut pagini separate de wordpress (e.g. inbox-uri sau forumuri) în care să folosiți headerul, footerul sau/și sidebar-ul din tema de wordpress , cu siguranță că ați observat că, deși ați inclus fișierul wp-load.php,  funcția  get_template_part() nu mai funcționează. Rolul funcției este de a include în template anumite fișiere pe baza unor filtre. Și, findcă se bazează pe funcția php include, nu va funcționa corect decât într-un fișier localizat în directorul temei.

Dacă vrei să incluzi loop.php și pe noua pagină - trebuie găsită o soluție mai eficace.
Wordpress îți oferă o constantă, care indică exact calea absolută, pe server, către directorul temei. De exemplu pentru tema redline aceasta va fi ceva de genul ”/var/www/myblog.info/wp-content/themes/redline”. Arată bine, însă, pentru a ne putea include un fișier de acolo, cu include sau include_once, preferabilă ar fi o cale relativă către acest director. Asta se poate obține foarte ușor cu doar două linii de cod:

Prima dată includem wp-load.php, și după cum puteți observa fișierul  meu extern ce urmează să folosească tema de wordpress se află chiar în directorul rădăcină al wordpress. Definim variabila $template_path pentru a reține calea relativă de la directorul rădacină al Wordpress la directorului temei curente. Apoi selectăm post-urile din categoria cu id-ul variabilei $categoryId (transmisă prin GET), pentru a fi afișate.
Mai jos utilizăm noua variabilă pentru a include fișiere specifice temei:


Dacă fișierul nu se află în directorul rădăcină al Wordpress, mai avem de făcut un lucru, pentru a simplifica lucrurile, putem să definim o constantă care va reține valoarea returnată de script-ul de mai sus, din $template_path, (e.g. WP_TEMPLATE_PATH). Vom lăsa script-ul rezultat în fișierul rădăcină al Wordpress și îl includem în fișierul nostru. Apoi rămân de adăugat ”../”, în fața WP_TEMPLATE_PATH,  în funcție de adâncimea direcrotului cu script-ul nostru.

Un comentariu:

radiowhisper.com spunea...

Buna Ziua!
Eu sunt Vlad, unul dintre membri Radio Whisper - un radio antimanele dedicat bloggerilor şi nu numai.
Am găsit întâmplător blogul tău, am citit câteva articole şi nu am vrut să ies înainte să te felicit – mi-a plăcut mult ce am găsit aici. Am fost atras de subiectele interesante si de originalitatea articolelor. Felicitari ! Noi promovăm la radio diferite articole ale bloggerilor, iar azi am promovat un articol de-al tău; am specificat sursa articolului şi am deschis şi un subiect pe baza acestuia. Dacă doresti, poţi să ne recomanzi orice articol, iar noi îl vom promova.
Ne-ar face plăcere să ştim că ai dori să ne susţii în acest proiect de radio şi să accepţi o eventuală colaborare.
M-am gândit aşadar să vin cu o propunere:
Pe Radio Whisper se difuzează toate genurile de muzică, exceptând manele şi piese necenzurate. Avem şi câteva emisiuni, ştiri etc. Ne-am propus să realizăm un proiect mare, iar pentru asta avem nevoie de susţinerea şi ajutorul tău şi al celorlalţi colegi bloggeri. Dorim să creăm o echipă cât mai complexă de oameni cu un talent aparte şi m-am gândit că poate ai vrea sa ni te alături şi să colaborăm (binenţeles, pe unul dintre domeniile care îţi place). Dorim de asemenea să îţi acordăm un scurt interviu. Pentru noi sunt importante ideile şi modul de a gândi al bloggerilor şi al ascultatorilor noştri.
Îti multumesc pentru timpul acordat, iar acum îti propun sa adaugi linkul sau bannerul nostru pe blogul tău şi să ne dai add la id-ul asculta.whisper sau un e-mail, tot la asculta.whisper@yahoo.com, pentru a discuta mai multe.

www.radiowhisper.com
Multumesc,
Cu stimă Vlad!

 

Blogul s-a mutat la o noua adresa!

Vei fi redirectionat automat la noul domeniu. Daca nu vrei sa astepti mergi la http://adrian.silimon.eu/ si nu uita sa-ti actualizezi semnele de carte (bookmarks).