Esistono due funzioni in WordPress che compiono in maniera elegante e raffinata una piccola magia che ti permetterà di personalizzare ogni singolo post o aspetto di WordPress con un minimo sforzo dal lato PHP per lasciare tutto il divertimento ai CSS.
Queste due funzioni si chiamano post_class() e body_class(), sono state introdotte in WordPress rispettivamente dalla versione 2.7 e 2.8, di seguito vedrai in dettaglio cosa possono fare queste due funzioni se aggiunte ad un tema.
La funzione post_class() deve essere aggiunta all’interno di un loop e di un elemento HTML che identifica e racchiude gli elementi HTML del post stesso,quindi è perfetto da usare nei classici file index.php o single.php, ecco un ipotetico esempio:
<div id="posts"> // Div generale che contiene tutti i post <?php if ( have_posts( ) ) : while ( have_posts() ) : the_post(); ?> // Inizio loop <div <?php post_class(); ?> > // Inserimento della funzione post_class <h1 class="post-title"> <a href="<?php the_permalink(); ?>"> <?php the_title(); ?> </a> </h1> <div class="excerpt"> <?php the_excerpt(); ?> </div> </div> // Fine div con post_class <?php endwhile; else: ?> <?php endif; ?> // Fine loop </div> // Fine div con id posts
La funzione post_class() creerà una serie di classi nell’oputput HTML che ti permetteranno di personalizzare con i CSS l’aspetto del post, prova a salvare e visualizzare l’HTML per vedere il risultato, qui sotto un esempio del risultato usando Firebug:
Nel mio caso le classi che sono state aggiunte sono:
Utilizzando quindi una o più di queste classi nel tuo file CSS puoi praticamente modificare il tuo post come preferisci, per esempio se volessi modificare solamente l’aspetto del post n°8207 potrei creare una regola CSS del genere nel foglio di stile:
.post-8207 { background: red; width:100%; etc... }
Inoltre, potresti andare ancora più a fondo, specificando altri selettori CSS contenuti dentro il div in cui è inserita la funzione post_class(), per esempio:
.post-8207 .excertp { ...proprietà CSS per formattare l'estratto del post n°8207... }
Circa la setssa cosa viene fatta dalla classe body_class()
<body <?php body_class(); ?> > ... </body>
citata all’inizio, con la differenza che, grazie a questa funzione, vengono aggiungere diverse classi partendo da un livello più alto del tema WordPress, il tag body appunto, e quindi sarà facile modifcare l’intero assetto della pagina web.
Ancora nessuna risposta per Modificare l’aspetto di ogni singolo post WordPress con i CSS