WordPress e i campi personalizzati

Una guida, una bozza di quel che si può fare utilizzando i campi personalizzati – custom fields – di WordPress per impaginare contenuti e parte di un post.

Avevo espresso questo mio enigma anche sul Forum per Webmaster TPU – Tutti Per Uno

PREMESSA – IL PROBLEMA:

Ho avuto la necessità di trovare la soluzione ad un problema che mi assillava da tempo ovvero poter inserire nello stesso post di un sito basato su WordPress, un oggetto quale per esempio un’ immagine o un video YouTube e variarne le dimensioni a seconda che l’ articolo si trovi in homepage (nel qual caso volevo una thumbnail o il video di dimensioni ridotte in altezza e larghezza) o nella pagina dell’ articolo singolo (nel quel caso volevo mostrare l’ oggetto in questione con le dimensioni originali o comunque ingrandito rispetto alla visualuizzazione in homepage).

ANALISI DEL PROBLEMA:

Approfondendo sono venuto alla conclusione che mi serviva del codice php per poter estrapolare e passare le dimensioni all’ oggetto in questione, a seconda che mi trovassi in home o nella pagina dell’ articolo singolo.

L’ idea di base era che nei 2 blocchi di codice php i tag html per inserire le immagini o i tag per inserire contenuto flash in una pagina web sarebbero stati uguali per tutte le pagine, quindi la variabile sostanziale che avrei dovuto preoccuparmi sarebbe stato solamente il link da dove attingere il contenuto (src per il tag img per le immagini e value ed src per i tag per il video in flash di YouTube).

Per le dimensioni sarebbero state fissate già preventivamente nei due blocchi di codice php inseriti nella home e nella pagina dell’ articolo singolo facilitato dal fatto che nel mio template, come nel 90% dei templates WordPress, esiste il file index.php per la homepage del blog e single.php dove si trova il codice per estrapolare il contenuto del post singolo.

LA SOLUZIONE:

Quindi detto questo, mi serviva solo capire come poter inserire agevolmente il link all’ immagine o al video senza per forza dover a che fare con codice html e php.

WordPress mette a disposizione di default sotto il form, la textarea, in cui scrivere il post, una sezione dedicata ai campi personalizzati, che fino ad oggi non mi ero mai sognato di utilizzare, ma cercando soluzioone al mio problema su Google, quando mi son ricordato “campi personalizzati” mi è scattata la molla rileggendo “personalizzati”… questo significa che se posso inserire etichetta/nome del campo e contenuto dello stesso, si sarebbe registrato nel database ergo avrei potuto estrapolare a mio piacimento e quando avrei avuto la necessità tale contenuto nel template come e dove mi sarebbe piaciuto.

Capito il problema, analizzato… la soluzione si trovava sotto i miei occhi da sempre.

LA PRATICA:

IL CODICE:

Ho aperto con un editor testuale (io utilizzo joe da shell sulla mia postazione Ubuntu :) ) index.php del template WordPress che stavo utilizzando;

Subito prima di questo codice che fa comparire il riassunto nella homepage:

<?php the_excerpt() ; ?>

..ho inserito tale codice (primo stralcio per inserire le miniature delle immagini – ed il secondo è per i video YouTube):

<?php // pubblica la immagine se il campo personalizzato ‘immagine’ esiste
$values = get_post_custom_values(“videoyt”);
if ( is_array($values) ) { ?>
<div id=”imgCSS”>
<img src=”<?php $key=”immagine”; echo get_post_meta($post->ID, $key, true); ?>” alt=”<?php the_title(); ?>” width=”150″ height=”100″ />
</div>
<?php } ?>

<?php // pubblica la immagine se il campo personalizzato ‘videoyt’ esiste
$values = get_post_custom_values(“videoyt”);
if ( is_array($values) ) { ?>
<div id=”introVIDEO”>
<object width=”150″ height=”100″>
<param name=”movie” value=”<?php $key=”videoyt”; echo get_post_meta($post->ID, $key, true); ?>”></param>
<param name=”allowFullScreen” value=”true”></param>
<embed src=”<?php $key=”videoyt”; echo get_post_meta($post->ID, $key, true); ?>” type=”application/x-shockwave-flash” allowfullscreen=”true” width=”150″ height=”100″>
</embed>
</object>
</div>
<?php } ?>

Ho aperto il file single.php (il file come detto precedentemente, per estrapolare il contenuto di un post singolo):

<?php the_content(); ?>

Subito dopo questo codice che fa visualizzare tutto il contenuto del post:

…ho inserito il secondo blocco di codice php:

potete copiare il codice inserito nel index.php e variarne i paramentri width e height

Fatte queste modifiche il sistema è funzionante.

Nel momento in cui andrò a scrivere il mio post ed utilizzerò i campi personalizzati accoppiando l’ etichetta immagine + link di dove si trova l’ immagine o videoyt col link di dove si trova il video YouTube che voglio inserire, il codice php inserito nei due file sopra citati, si preoccuperà di estrapolare e far visualizzare le immagini e i video con le dimensioni adattate alla pagina in cui verranno pubblicati.

Un esempio lo potete vedere sul sito del CKF – Canoa Kayak Friuli nel blocco MOVIE a fondo pagina dell’ homepage e cliccando per esempio sul titolo in rosso scuro di tale video, come compare lo stesso video sull’ articolo singolo di tale news.

Questo articolo è stato pubblicato mercoledì, agosto 27th, 2008 ed inserito in CMS, Creative Problem Solving, Guide e How-to, PHP, SEO, Template. You can follow any responses to this entry through the RSS 2.0 feed. Puoi lasciare un commento, o utilizzare il trackback da inserire nel tuo sito e nel tuo blog per citare questo post.

This website uses IntenseDebate comments, but they are not currently loaded because either your browser doesn't support JavaScript, or they didn't load fast enough.

27 Responses to “WordPress e i campi personalizzati”

  1. WordPress, template e campi personalizzati » Il blog di uno qualsiasi on agosto 27th, 2008 at 13:01

    [...] Come si possono utilizzare i campi personalizzati diper poter migliorare l’ aspetto grafico e visivo, con un semplice automatismo durante la stesura di un post.Il mio punto di vista, il problema, l’ anialisi dello stesso e la soluzione le ho riportate sotto forma di guida su Informatica Friuli. [...]

  2. News Sito Nerd » Blog Archive » WordPress, custom fields e template on agosto 27th, 2008 at 14:41

    [...] WordPress e i campi personalizzati Risorse utili [...]

  3. nata100 on novembre 19th, 2008 at 05:20

    ciao
    complimenti per il blog

    ho un grosso problema (almeno per me ) praticamente sono passato da blogger a Word press quindi capirai la differenza sono partito nuovamente da 0 . ecco il mio problema
    ho un blog word press faccio un articolo metto l immagine in Home page si vede un rettangolo che in qualche modo potrei pure accettare anche se non e' preciso nel post va tutto bene , l unico posto dove viene veramente indecente e' nella sezione archivio praticamente in un pagina vengono elecati piu post di una determinata categoria a lato del titolo c'e' un immagine del post piccola che in nessun caso viene raffigurata bene

    Come posso fare ? ecco un esempio

    immagine giusta nel post http://www.linkstreaming.com/88-minuti.html

    immagine non tanto buona in home page http://www.linkstreaming.com/

    immagine nell archivio praticamente nulla http://www.linkstreaming.com/category/alta-qual...

    scusa tanto il disturbo pero non so cosa fare

    grazie 1000

  4. king_hack on novembre 19th, 2008 at 07:36

    Ciao nata100
    Darti una risposta precisa è difficile perchè dipende dal template che stai utilizzando.
    La prassi è di non appesantire troppo le sezioni archivi cercaando di non inserire le immagini dei vari post, che condivido come prassi.
    Ti dico cosa farei io: (è una soluzione “avanzata” per chi come te proviene da blogger e magari non mastica fogli di stile e codice)
    1. L' immagine nel post la carico tramite la gestione immagini di WordPress;
    2. Copio il link di dove viene salvata l' immagine;
    3. utilizzo un campo personalizzato dandogli il nome “imgpost” ed incollo dentro il link;
    4. personalizzerei il template precisamente il file archive.php (il file per far visualizzare appunto gli archivi) inserendo il codice sulla traccia di quella che ho fornito nel mio post inserendo al posto di “videoyt” il nome del campo che hai creato ovvero “imgpost”.
    5. al posto del codice tra i <div id=”introVIDEO”> e </div> inserirei il codice html per inserire un' immagine.
    6. nel foglio di stile impartirei le direttive per “introVIDEO” dicendo che le immagini sotto questa classe abbiano le dimensioni personalizzate da me in altezza e larghezza.

    Stesso procedimento dovrai farlo per single.php ovvero il file del template per visualizzare l' articolo singolo MA invece di metterci come classe “introVIDEO” ci meti un altro nome per la classe CSS stile “imgSINGLE” e nel CSS (foglio di stile) inserirai le dimensioni standard (grandezza naturale dell' immagine) per farla visualizare nella sua dimensione naturale.

    Detto cosi è difficile da spiegare, ma se vuoi sono sempre a disposizione.
    Ci si può sentire via chat (devo ancora indicarli pubblicamente su questo blog) ma su Google Talk mi puoi trovare davide.tommasin@gmail.com oppure su skype come kinghack

    Per le mail trovi la sezione contatti in questo blog ;)

    Ciao

  5. alberto on gennaio 5th, 2009 at 18:16

    non riesco ad inserire le immagini nella home page

    ho fatto come hai scritto ma zeeerooooo!!!!!!!!!!!!!

    help!!

  6. gianodo on gennaio 7th, 2009 at 19:31

    Sono incappato in questo post molto utile.
    La procedura è chiara ma non ho capito che cos'è videoyt

    $values = get_post_custom_values(”videoyt”);

    Che significa? A cosa rimanmda?

  7. king_hack on gennaio 7th, 2009 at 19:44

    videoyt è solamente l' “etichetta”, un termine, un tag inventato da me per specificare la variabile per i video youtube.
    get__post_custom_values è la funzione che va a estrapolare dal database il valore di quella variabile specifica del post in cui l' hai inserita.

  8. king_hack on gennaio 7th, 2009 at 19:46

    Qui dipende imho tutto dal template che stai utilizzando,
    Darti una risposta precisa, una soluzione alla tua domanda non è possibile.

    Che template utilizzi? Il link al tuo blog? Se me li indichi forse arrivo a darti ulteriori info. ;)

  9. Mauri on gennaio 8th, 2009 at 17:44

    Ciao, utilizzo i custom fields da un pò senza problemi. Ora è giunto il momento di fare un passa in più. Molti temi premium (a pagamento) offrono i custom field automatici per le immagini. in pratica prendono l'indirizzo della prima immagine che trovano nel post e lo salvano nel custum field desiderato. questo aiuta molta perchè non è più necessario copiare il nome dell'immagine o il percorso…

    In rete però non ho trovato molto sull'argomento. Ne sai qualcosa?
    Grazie in anticipo
    Mauri

  10. king_hack on gennaio 8th, 2009 at 17:51

    Ciao Mauri, per ora non so darti una risposta precisa perchè devo studiarmi la cosa.
    Se ho news ti faccio sapere ;)

  11. Mauri on gennaio 8th, 2009 at 21:31

    ho trovato proprio ora un semplice plugin molto configurabile che permette quanto detto:

    http://justintadlock.com/archives/2008/05/27/ge...

    Il plugin una volta attivato cerca all'interno del post la prima immagine e restituisce attraverso la funzione:

    <?php echo get_the_image('width=70&height=70&image_class=left'); ?>

    il codice html relativo all'immagine… Ho eliminato tutti i custom fields dai miei post (vedi italytodo dot com) e penso di avere anche guadagnato in performance (oltre che in codice php)

    spero vi sia utile

    Ciao
    Mauri

  12. king_hack on gennaio 8th, 2009 at 21:50

    Grazie 1000 per la segnalazione ;)

  13. BECA on marzo 24th, 2009 at 18:03

    ottima guida, dopo a casa proverò ad attuarla nel mio blog ;)

    intanto mi iscrivo ai feed! :D

  14. king_hack on marzo 24th, 2009 at 18:14

    Buon lavoro… in caso facci sapere com'è andata ;)

  15. BECA on marzo 25th, 2009 at 13:15

    è andata, dopo qualche imprecazione di troppo (a chi copia il codice, ricordatevi di ridigitare le virgolette….arg!), ora devo solo formattare meglio il tutto

  16. » Creare Post In Evidenza Con WordPress » Informatica Friuli on aprile 29th, 2009 at 14:09

    [...] campi personalizzati di [...]

  17. Teodoro Di Stasi on giugno 17th, 2009 at 17:13

    Ciao, ottima la soluzione proposta, mi piacerebbe implementarla su un blog dedicato agli orologi.
    Però, ho un però :-)

    Come potrei fare in modo che gli articoli creati e che voglio vengano visualizzati…NON compaiano nella Home Page del Blog?

    Mi spiego meglio: di default WP quando scriviamo un articolo lo visualizza nella home page, ecco, io vorrei fare in modo che ciò non avvenga e che l’utente possa leggere gli articoli presenti con la soluzione da te proposta,

    Per meglio farmi comprendere: l’idea è quella di creare una categoria chiamata “Orologi e Marchi in evidenza” dove inserire articoli su orologi o marchi che hanno particolari caratteristiche (complicazioni, style ecc ecc ecc)

    Grazie per l’aiutone ;-)

    Ciau
    Teodoro

  18. piac95 on settembre 11th, 2009 at 11:46

    Ciao…stranamente a me non funziona…boh proverò a smanettare un po' sul codice…a proposito…sono friulano anch'io :P

  19. KING_Hack on settembre 11th, 2009 at 12:01

    Ciao paic95
    Dire che non funziona è troppo generico per poterti dare un aituo o un consiglio.

    Che problemi hai riscontrato?

  20. piac95 on settembre 11th, 2009 at 14:49

    eheh risolto…bastava riscrivere le virgolette…cmq al max faccio un post sul mio blog…
    probabilmente copiando le virgolette "sfasavano"…boh…cmq ade ho risolto e funziona…

  21. KING_Hack on settembre 11th, 2009 at 15:54

    Ciao paic95
    Si, purtroppo è un qualcosa inerente all' impaginazione di WordPress che fa in modo di codificare certi tipi di caratteri.
    Fra un po sistemo anche questo problema qui su InformaticaFriuli.

    Ho piacere che hai risolto ;)

  22. elisa on settembre 25th, 2009 at 13:27

    Grazie mille! ;) ))

  23. KING_Hack on settembre 25th, 2009 at 13:34

    Grazie a te Elisa per il commento e per essere passata di qua ;)

  24. Emanuele on dicembre 28th, 2009 at 17:55

    grandissimi, dopo lunghe prove e ricerche, innumerevoli codici php e plugin non funzionanti, con il vostro aiuto sono riuscito ad avere le immagini dei post in home page! grazie!

  25. Emanuele on dicembre 28th, 2009 at 17:58

    ah, nel primo campo php penso ci sia una svista:

    <?php // pubblica la immagine se il campo personalizzato ‘immagine’ esiste $values = get_post_custom_values(“immagine”);

    e non <?php // pubblica la immagine se il campo personalizzato ‘immagine’ esiste $values = get_post_custom_values(“videoyt”);

    ciao!

  26. KING_Hack on dicembre 28th, 2009 at 18:19

    Sono contento che hai risolto ;)
    Ci sono altre tecniche che si possono adottare e spero ben presto di poterci scrivere altri post ;)

  27. KING_Hack on dicembre 28th, 2009 at 18:22

    Mmmm, si hai ragione una svista.
    Grazie per la segnalazione.

Leave a Reply

Feed RSS Blog Informatica Friuli Ci sono 1375 che leggono via Feed Reader


Iscriviti alla Newsletter


Creazione Siti e Servizi Web Friuli


Servizi Web in Friuli - Udine e Aquileia

Sei un' azienda, un libero professionista o un web designer del Friuli Venezia Giulia?
  • Ti serve, consulenza come azienda?
  • Vuoi proporci o cercare collaborazioni per la tua web agency?
  • Ti servono servizi web, un sito o un blog per la tua associazione?
Clicca qui per il modulo contatti

Servizi Web Open Source Aziende in Friuli Venezia Giulia - Udine Aquileia

Recensioni e Guide Utili

EBook 3 Consigli Su Come Personalizzare WordPress
EBook 3 Consigli Su Come Personalizzare WordPress Questo ebook è il primo pubblicato da Informatica Friuli dedicato alla personalizzazione di certi aspetti dei template per WordPress. Questo ebook non deve dare grosse aspettative ...

Continua a leggere...
Come Scegliere L’ Hosting Giusto Per Il Posizionamento
Come Scegliere L’ Hosting Giusto Per Il Posizionamento Non c'è hosting, spazio web dove hai caricato i file del tuo sito, che ti da la garanzia al 100% di posizionarti nella serp di Google al primo posto. [caption id="" ...

Continua a leggere...
NewsMastering con WordPress
NewsMastering con WordPress Prendo spunto da quanto si può leggere su MasterNewMedia per quanto riguarda il Newsmaster come la figura che filtra e fornisce ...

Continua a leggere...

Visitatori IF

Licenza IF

Tag

aquileia blog campi personalizzati come scrivere comunicati stampa comunicazione creazione sito custom fields editoria editori online facebook feed feedwordpress fidelizzare focus friuli hackcamp hosting hosting seo if linux mail marketing Marketing masternewmedia myspace nerd newsletter newsmaster Notizie IF plugin wordpress primi sui motori restyling sito robin good SEO servizi web sito nerd sitonerd social network template theme wordpress udine webdesign web design web service wordpress