Cum reprezint 'bucăți' de conținut în WordPress?

3 aug. 2010, 14:04:42
Vizualizări: 1.03K
Voturi: 10

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:

  1. 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ă.
  2. Acest model poate fi imitat, mai mult sau mai puțin, folosind postări personalizate (vezi mai jos)
  3. 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:

  1. Pagina este o 'Pagină' cu un șablon personalizat - să-i spunem 'mypage.php'
  2. 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? :-)

cms
1
Comentarii

Întrebările despre Wordpress sunt perfect acceptabile aici, cu excepția cazurilor în care se apropie prea mult de programare.

Tim Post Tim Post
3 aug. 2010 14:57:58
Toate răspunsurile la întrebare 5
2

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.

4 aug. 2010 12:40:33
Comentarii

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.

Bobby Jack Bobby Jack
4 aug. 2010 13:44:03

Ar fi de asemenea înțelept să te asiguri că ești familiarizat cu taxonomiile personalizate și cum funcționează acestea împreună cu tipurile de postări personalizate.

Travis Northcutt Travis Northcutt
4 aug. 2010 19:21:23
3

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.

3 aug. 2010 15:33:24
Comentarii

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.

Bobby Jack Bobby Jack
3 aug. 2010 16:03:33

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.

User User
3 aug. 2010 17:02:03

și dacă vreau ca acele bucăți să fie editabile WYSIWYG?

Bobby Jack Bobby Jack
4 aug. 2010 17:12:02
0

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

4 aug. 2010 06:52:35
0

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.

8 aug. 2010 06:45:03
0

Cel mai bun plugin pentru adăugarea fără efort a zonelor personalizate de conținut, dincolo de titlu și conținutul standard, este probabil pluginul "More Fields".

11 oct. 2011 18:18:56