Come mostare un articolo su più colonne in Wordpress

Giornali e riviste mostrano tutti i giorni i loro articoli disposti su più colonne, allora perché i blog non dovrebbero poterlo fare?

Oggi ti voglio mostrare un modo semplice ed efficace per disporre i tuoi articoli su più colonne.

Copia & incolla semplicemente il seguente codice nel file functions.php del tuo tema (se non esiste crealo semplicemente con un editor di testo) e ogni volta che all’interno di un tuo articolo inserirai il tag h2 verrà creata una nuova colonna:

function my_multi_col($content){
$columns = explode('<h2>', $content);

$i = 0;

	foreach ($columns as $column){
	if (($i % 2) == 0){
		$return .= '<div class="content_left">' . "\n";
		if ($i > 1){
		$return .= "<h2>";
	} else{
		$return .= '<div class="content_right">' . "\n <h2>";
	}
		$return .= $column;
		$return .= '</p></div>';
		$i++;
	}

	if(isset($columns[1])){
	    $content = wpautop($return);
	}else{
	    $content = wpautop($content);
	}
	echo $content;
}
add_filter('the_content', 'my_multi_col');

Infine non dimenticare di inserire il seguente codice nel file style.css (o il tuo foglio di stile relativo):

   .content_right, .content_left{
      float:left;
   width:45%;
   }

   .content_left{
     padding-right:5%;
    }

Condividi

2 commenti

  1. dino ha detto:

    Ciao, fa proprio al caso mio questa modifica. complimenti. Ho però provato a inserire questo codice nel file function.php del template “magazine basic” (sto provando il “Massive News”, “Gonzo Daily” e “MagZine”, ma senza riuscire a ottenere il risultato sperato. Potresti gentilmente dirmi come fare? tra quale righe devo agire? (anche per il Css) Tieni conto che il file function.php dove effettuare la modifica è lunghissimo: 1060 righe. Ti spiego: vorrei che nella home page apparisse la prima notizia incolonnata, le altre a cascata con titolo e abstract. Se l’utente clicca su un articolo presente in prima pagina vorrei che lo visualizzasse in colonne, con sommarietto come lo screenshoot che hai postato. Questo per la verità è possibile farlo (in parte) col “Gonzo Daily”, solo che negli articoli secondari il testo viene mostrato per esteso e non in due o tre colonne. Oltretutto ho il seguente problema: Ogni volta che posto una notizia, in automatico questa si  posiziona come principale Vorrei poter postare in modo gerarchico notizie ma dare meno rilievo a news secondarie; rilievo che invece spetta a notizie importanti, da apertura. In Joomla questo è possibile ma in WP l’opzione sarebbe spuntare “Mantenere sempre in prima pagina?”, escludendo a priori ogni opzione di scelta. Mi aiuti per favore? grazie 1000, dino

  2. Christian ha detto:

    Ciao, dopo aver inserito il tuo codice nel file functions.php adesso non mi funziona più il sito e mi restituisce questo tipo di errore :
     
    Parse error: syntax error, unexpected $end in /web/wp-content/themes/fusion/functions.php on line 852

Lascia un commento