Cum reprezint 'bucăți' de conținut în WordPress?
Până acum am folosit WordPress doar ca platformă de blogging auto-găzduită. Acum am nevoie să-l folosesc pentru un CMS simplu, format din aproximativ 10 pagini, majoritatea cu conținut static actualizat periodic. Am nevoie de abilitatea de a încărca documente, a încorpora imagini, a edita text folosind editorul - practic toate funcționalitățile standard oferite de WordPress.
Totuși, am dificultăți în a edita secțiuni specifice dintr-o pagină - mai ales în a ști de unde să încep. Un CMS 'normal' ar împărți tradițional o pagină în secțiuni separate și mi-ar permite să editez oricare dintre acestea, fie direct, fie prin includerea de conținut partajat în acel loc. Nu reușesc să aflu cum să fac asta în WordPress.
Este posibil să 'extind' modelul de Pagină astfel încât o Pagină să fie doar o bucată de conținut, inclusă de o pagină/șablon specific, și să fie - cumva - protejată de a fi vizualizată direct (eliminarea din meniurile de navigație fiind un început).
Aveți sugestii despre unde să încep?
Actualizare
Pentru clarificare, imaginați-vă un articol standard WordPress. Presupuneți că este un conținut static. Dacă ați dori ca un editor să poată schimba doar primul paragraf din acel articol. Acum,
- ar trebui ca conținutul static să fie într-o Postare, Pagină, Șablon, sau altceva?
- ar trebui ca conținutul editabil să fie o Pagină, ... sau altceva?
De exemplu:
<h1>Despre noi</h1>
<p>Example.com este o companie specializată în exemple, demonstrații,
și lucruri canonice.</p>
Dacă vreau ca acel paragraf să fie editabil, probabil am nevoie de ceva de genul:
<h1>Despre noi</h1>
<p><?php insert_page('numele-bucății-de-conținut'); ?></p>
Actualizare 2
OK, după multă cercetare, încercări și erori, am inclus următoarele:
- WordPress nu este configurat să replice ușor un CMS clasic, mai ales în ceea ce privește afișarea mai multor bucăți de conținut pe o singură pagină.
- Acest model poate fi imitat, mai mult sau mai puțin, folosind postări personalizate (vezi mai jos)
- Paginile aproape că oferă această funcționalitate, însă:
- Este necesar un plugin doar pentru a include o pagină
- Paginile nu par la fel de flexibile ca postările - de exemplu, nu există tipuri personalizate de pagini
Metoda pe care am folosit-o, utilizând tipuri personalizate de postări, este în linii mari următoarea:
- Pagina este o 'Pagină' cu un șablon personalizat - să-i spunem 'mypage.php'
- Acel șablon conține următoarele:
<div id="header"> <?php query_posts(array('name' => 'foo', 'post_type' => 'header-text')); get_template_part('header-text'); ?> </div> <div id="content"> <p>Unele texte statice în șablon care pot fi schimbate doar de administratorul site-ului.</p> <?php query_posts(array('name' => 'bar', 'post_type' => 'image')); get_template_part('image'); ?> </div>
Are sens pentru cineva? :-)

După cum a menționat tnorthcutt, poți dori să utilizezi tipuri personalizate de articole. Totuși, ar trebui să arunci o privire și la câmpurile personalizate, care îți vor permite să specifici bucăți de date dinamice personalizate pe care dorești să le asociezi cu fiecare pagină. Iată tutorialul de la Smashing Magazine despre câmpuri personalizate, tutorialul de la Nettuts (și videoclipul), precum și o listă cu alte tutoriale.

Voi analiza tipurile de postări personalizate. Problema cu câmpurile personalizate, dacă le înțeleg corect, este că, în cel mai rău caz, sunt doar text simplu, iar în cel mai bun caz, nu oferă editare WYSIWYG.

Dacă am înțeles corect, doriți să aveți layout-uri diferite pentru pagini diferite. Puteți realiza acest lucru fie prin crearea unui șablon personalizat pentru fiecare pagină a site-ului, fie prin utilizarea unui singur șablon de pagină cu diverse condiții.
Pentru prima opțiune, consultați secțiunea din WordPress Codex despre șabloanele personalizate pentru pagini: http://codex.wordpress.org/Pages#Creating_Your_Own_Page_Templates
Pentru cea de-a doua opțiune, consultați acest tutorial: http://www.darrenhoyt.com/2007/12/26/multiple-wordpress-page-layouts-in-one-single-template/
Apoi, puteți muta aceste "bucăți" în fișiere PHP diferite pe care le includeți în paginile specifice.

Hmm... O să mă uit la linkuri, dar nu sunt complet sigur că m-am exprimat corect. În esență, am nevoie să lucrez cu cea mai 'atomică' bucățică de conținut posibilă; ceva ce toate celelalte CMS-uri pe care le-am folosit o fac foarte ușor. Am actualizat întrebarea în încercarea de a explica mai bine.

Dacă vrei ca conținutul să fie static (și prin static înțeleg HTML simplu care nu e servit dintr-o bază de date - ca postările WordPress) dar totuși vrei să îl modifici, atunci adaugă bucățile în template. Altfel pune-le într-o pagină și gata.

Cred că cea mai bună opțiune este să folosești tipuri personalizate de articole.

Aruncă o privire la un plugin precum Magic Fields. Acesta utilizează Câmpuri Personalizate intern, dar interfața poate avea editor de text bogat, listă verticală, etc.
Aceasta îți permite să definești elementele de conținut, tipurile lor și (pentru opțiuni) valorile lor. Apoi, tema ta le poate afișa.
O alternativă ar fi să ai o zonă de plugin definită și să decizi ce plugin ar merge acolo. Totuși, aceasta este mai puțin flexibilă, deoarece încă nu permite două secțiuni de conținut specifice unei pagini/postări.
