Come rappresentare 'blocchi' di contenuto all'interno di Wordpress?

3 ago 2010, 14:04:42
Visualizzazioni: 1.03K
Voti: 10

Ho sempre usato Wordpress solo come piattaforma di blogging self-hosted - fino ad ora. Ho la necessità di usarlo come un CMS molto basilare che consisterà in ~10 pagine, la maggior parte delle quali saranno contenuti statici, aggiornati periodicamente. Avrò bisogno della possibilità di caricare documenti, incorporare immagini, modificare il testo usando l'editor - praticamente tutte le funzionalità standard che Wordpress offre.

Tuttavia, sto avendo difficoltà riguardo alla modifica di sezioni specifiche all'interno di una pagina - in particolare, semplicemente non so da dove iniziare. Un CMS "normale" tradizionalmente suddivide una pagina in sezioni separate e mi permette di modificare ognuna di queste sezioni, sia modificando direttamente il contenuto, sia includendo contenuti condivisi in quel punto. Non riesco a capire come fare questo con Wordpress.

È possibile "estendere" il modello di Pagina in modo che una Pagina sia in realtà solo un blocco di contenuto, che viene incluso da una pagina/template specifica, e che sia - in qualche modo - protetto dall'essere visualizzato direttamente (rimuoverlo dai menu di navigazione sarebbe un inizio).

Qualche indicazione su dove iniziare?

Aggiornamento

Per chiarire, immagina un normale post di un blog Wordpress. Fingi che sia un contenuto statico. Supponi di voler permettere a un editor di cambiare solo il primo paragrafo di quel post. Ora,

  • il contenuto statico di quella pagina dovrebbe essere in un Post, Pagina, Template, o qualcos'altro?
  • il contenuto modificabile dovrebbe essere una Pagina, ... o qualcos'altro?

Per esempio:

<h1>Chi siamo</h1>

<p>Example.com è un'azienda specializzata in esempi, dimostrazioni,
e roba canonica.</p>

Se voglio che quel paragrafo sia modificabile, presumibilmente ho bisogno di qualcosa come:

<h1>Chi siamo</h1>

<p><?php insert_page('nome-del-blocco-contenuto'); ?></p>

Aggiornamento 2

OK, dopo molte ricerche, tentativi ed errori, ho scoperto quanto segue:

  1. Wordpress non è configurato per replicare facilmente un CMS classico, specialmente riguardo all'avere diversi pezzi di contenuto in una pagina.
  2. Questo modello può essere imitato, più o meno, usando post personalizzati (vedi sotto)
  3. Le pagine offrono quasi questa capacità, tuttavia:
    • È necessario un plugin solo per includere una pagina
    • Le pagine non sembrano essere flessibili come i post - ad esempio, nessun tipo di pagina personalizzato

Il metodo che ho usato, utilizzando tipi di post personalizzati, è più o meno questo:

  1. La pagina è una 'Pagina' con un template personalizzato - chiamiamolo 'miapagina.php'
  2. Quel template contiene quanto segue:
    <div id="header">
      <?php
        query_posts(array('name' => 'foo', 'post_type' => 'testo-intestazione'));
        get_template_part('testo-intestazione');
      ?>
    </div>
    
    <div id="content">
      <p>Del testo statico nel template che può
      essere modificato solo dall'amministratore del sito.</p>
    
      <?php
        query_posts(array('name' => 'bar', 'post_type' => 'immagine'));
        get_template_part('immagine');
      ?>
    </div>
    

Tutto questo ha senso per qualcuno? :-)

cms
1
Commenti

Le domande su Wordpress sono perfettamente accettabili qui, a meno che non si addentrino troppo nella programmazione.

Tim Post Tim Post
3 ago 2010 14:57:58
Tutte le risposte alla domanda 5
2

Come ha menzionato tnorthcutt, potresti voler utilizzare tipi di post personalizzati. Tuttavia, dovresti anche dare un'occhiata ai campi personalizzati, che ti permetteranno di specificare frammenti di dati personalizzati dinamici che desideri associare a ciascuna pagina. Ecco il tutorial di Smashing Magazine sui campi personalizzati, il tutorial di Nettuts (e il video), e una lista di altri tutorial.

4 ago 2010 12:40:33
Commenti

Darò un'occhiata ai tipi di contenuto personalizzati. Il problema con i campi personalizzati, se li ho capiti correttamente, è che, nel peggiore dei casi, sono solo testo semplice, e nel migliore dei casi, non offrono l'editing WYSIWYG.

Bobby Jack Bobby Jack
4 ago 2010 13:44:03

Sarebbe anche saggio assicurarsi di avere familiarità con le tassonomie personalizzate e come funzionano con i tipi di contenuto personalizzati.

Travis Northcutt Travis Northcutt
4 ago 2010 19:21:23
3

Se ho capito correttamente, vuoi avere layout diversi per pagine diverse. Puoi ottenere questo risultato creando un template personalizzato per ogni pagina del sito oppure utilizzando un'unica pagina personalizzata con varie condizioni.
Per la prima opzione, consulta la sezione del WordPress Codex relativa ai template di pagina personalizzati: http://codex.wordpress.org/Pages#Creating_Your_Own_Page_Templates

Per la seconda opzione, consulta questo tutorial: http://www.darrenhoyt.com/2007/12/26/multiple-wordpress-page-layouts-in-one-single-template/

Successivamente, puoi spostare questi "blocchi" in diversi file PHP che includerai nelle tue pagine specifiche.

3 ago 2010 15:33:24
Commenti

Mmm... darò un'occhiata ai link, ma non sono del tutto sicuro di essermi spiegato correttamente. In sostanza, ho bisogno di lavorare con il pezzo di contenuto più "atomico" possibile; qualcosa che ogni altro CMS che ho usato rende molto semplice. Ho aggiornato la domanda nel tentativo di spiegarmi meglio.

Bobby Jack Bobby Jack
3 ago 2010 16:03:33

Se vuoi che il contenuto sia statico (e con statico intendo HTML semplice non servito da un database - come i post di WordPress) ma vuoi comunque modificarlo, allora aggiungi i blocchi al template. Altrimenti mettilo in una pagina e basta.

User User
3 ago 2010 17:02:03

e se voglio che quei blocchi siano modificabili con WYSIWYG?

Bobby Jack Bobby Jack
4 ago 2010 17:12:02
0

Penso che la soluzione migliore sia utilizzare i tipi di articoli personalizzati.

4 ago 2010 06:52:35
0

Dai un'occhiata a un plugin come Magic Fields. Utilizza internamente i Campi Personalizzati, ma l'interfaccia può includere un editor di testo avanzato, menu a discesa per le liste, ecc.

Questo ti permette di definire gli elementi del tuo contenuto, i loro tipi e (per le scelte) i loro valori. Successivamente, il tuo tema può visualizzarli.

Un'alternativa sarebbe avere un'area per i plugin definita e decidere quale plugin inserire. Tuttavia, questa soluzione è meno flessibile, poiché non consente comunque di gestire due elementi di contenuto specifici per pagina/post.

8 ago 2010 06:45:03
0

Il miglior plugin per aggiungere senza sforzo aree di contenuto personalizzate oltre al semplice titolo e contenuto è probabilmente il plugin "More Fields".

11 ott 2011 18:18:56