Cerca nel sito

Rss Posts

Rss Comments

Login

 

WordPress, post formattati a seconda della categoria

ago 04

Non molto tempo fa ho letto un interessantissimo post di Wolly che spiegava come personalizzare la formattazione degli articoli di WordPress secondo la categoria.

Il post, che vi invito a leggere, spiegava come ottenere in pochi semplici passaggi una versione personalizzata del file single.php, utilizzato ormai da quasi tutti i temi di WordPress per formattare la pagina dei post.

In pratica il post di Wolly consiglia di modificare il file single originale inserendo un if che dice a WordPress di utilizzare il normale contenuto del file single.php per tutti i post ad eccezione di quelli appartenenti ad una particolare categoria di cui va indicato l'id e per la quale va specificato un file alternativo che si occuperà della formattazione di tutti gli articoli di quella categoria.

Leggendo mi è venuto in mente che molte persone potrebbero voler personalizzare anche per più di una categoria e ritengo che ciò possa essere fatto prendendo spunto dal suggerimento di Wolly ma rendendo il tutto più semplice e limitando, dopo la configurazione iniziale, le operazioni alla semplice creazione di un nuovo file per ogni categoria.

L'idea di base è di avere un controllo dinamico basandoci sull'id della categoria (consigliato) o al limite anche sul nome, in modo tale che se abbiamo creato una formattazione ad hoc WordPress utilizzerà questa, altrimenti utilizzerà il contenuto del file single.php del template.

Per iniziare recuperiamo l'id della categoria relativa al nostro post, per farlo utilizzeremo la funzione get_the_category presente nel Codex di WordPress, quindi inseriamo all'inizio del file single.php questo codice

<?php
global $post;
$categoriesx = get_the_category($post->ID);
$catIDx = $categoriesx[0]->cat_ID;
?>

in questo modo la variabile $catIDx conterrà l'id della prima categoria, poichè WP consente di asociare più categorie al singolo post ho dato per scontato che sfrutteremo la prima per valutare se formattarlo in maniera particolare o meno.

Recuperato l'id della categoria è sufficiente creare tanti file quante sono le formattazioni desiderate chiamandole in modo che siano facilmente riconoscibili, io propongo qualcosa del tipo single-ID della categoria.php quindi ad esempio single-1.php

Questi file saranno delle copie esatte del file single.php originale del template ma con le dovute modifiche di layout e per comodità consiglio di caricarli nella directory del vostro tema (wp-content/themes/Nome_Tema).

A questo punto non ci resta che dire a WordPress di controllare se esiste un file di formattazione per la categoria di cui fa parte il nostro post e quindi di utilizzarlo oppure di formattare con il layout di default del tema.

Per fare questo inseriamo un controllo file_exists e poi un if aiutandoci con la funzione load_template di WordPress, inseriamo queste righe subito dopo le precedenti

<?php if(file_exists(TEMPLATEPATH . '/single-'.$catIDx.'.php')){

load_template(TEMPLATEPATH . '/single-'.$catIDx.'.php');
}else{

e in fondo a single.php, proprio alla fine chiudiamo l'else

}

lo vedete in funzione nella pagina di questo post e in tutti i post che hanno come categoria Worpress; ho aggiunto un rettangolo sotto l'articolo con due righe su WordPress e il logo.

Fatemi sapere se lo trovate utile e se lo implementate in qualche vostro blog.

Per chi volesse sostituire l'id della categoria col nome (occhio però in caso rinominiate la categoria il meccanismo non funzionerà più!) potete tranquillamente modificare l'assegnazione della variabile $catIDx facendole assumere il valore del nome della categoria in questo modo

$catIDx = $categoriesx[0]->cat_name;

il resto dello script è invariato, ovviamente i file con le formattazioni saranno del tipo single-Wordpress.php.

Buon divertimento

Rilasciato WordPress 2.6.1

ago 19

WordpressE' stato rilasciato WordPress 2.6.1, una minor release che non corregge bug di sicurezza particolari ma solamente bug di interfaccia, in particolare per la scrittura "left to right".

Come sempre è scaricabile dal sito ufficiale, o per chi preferisse la versione già localizzata in italiano consiglio il sito WordPress-it che offre oltre alla versione ufficiale tradotta in italiano anche una versione XXL con 5 utili plugin già compresi.

Per la versione 2.6.1 offrono anche un pacchetto diff che però a me non ha funzionato in quanto alcuni files richiesti sembrano mancare, probabilmente procederò con l'upgrade classico dalla versione completa e poi vi dirò com'è andata.

Nei commenti aspetto le vostre esperienze.

Buon upgrade

WordPress: scoprire quante query fa il nostro blog

apr 23

Chi vuole ottimizzare al meglio il proprio blog WordPress, sia per prestazioni sia per problemi di hosting (molti infatti limitano anche il numero delle query per ora), si sarà trovato più volte di fronte alla necessità di poter sapere quante query effettua il proprio blog e soprattutto quanto tempo impiega.

Oggi vi presento addirittura due soluzioni piuttosto semplici da implementare.

  • In questo post viene fornito un semplice codice da incollare nel footer.php del proprio template, giusto prima del tag </body>, il codice da inserire è il seguente
    <!–- <?php echo get_num_queries(); ?> queries.
    <?php timer_stop(1); ?> seconds. –>
  • Il secondo metodo viene direttamente dal supporto di WordPress.org, è un po' più complesso ma dicono altrettanto efficace. E' sufficiente aggiungere questa riga al wp-config.php
    define('SAVEQUERIES', true);

    e poi

    <?php if ( SAVEQUERIES && current_user_can('manage_options')
    && $_GET['showqueries'] ) {
    echo "<!--n";
    print_r($wpdb->queries);
    echo "n-->n";
    }
    ?>

    a questo punto loggatevi come amminsitratore e puntate a http://vostrosito.com/?showqueries=1

  • personalmente ho provato il primo metodo, da notare che stampiamo il risultato come commento HTML e quindi potremo vederlo solo guardando il sorgente della nostra pagina, l'altro metodo non l'ho testato ma ho letto commenti molto positivi. Fatemi sapere nei commenti.

Aggiornare Wordress alla versione 2.5

apr 11

Wordpress

Da ora ufficialmente fenomeno.it gira con l'ultima versione di WordPress, la 2.5.

Come fare l'upgrade di WordPress?

Mi sono posto questa domanda prima di affrontare l'aggiornamento da WordPress 2.3.3, cercavo un modo semplice per poter aggiornare senza troppi pensieri e senza spiacevoli sorprese.

L'avrei trovato nel plugin WordPress Automatic Upgrade, solo che nel mio hosting netfirms sembrano esserci dei problemi, anche se il tool si presenta come ottimo, i commenti dicono che in molti siti ha funzionato senza problemi ed automatizza tutte le fasi dell'upgrade, backup dei files e del database compresi.

Alla fine sono dovuto andare per la via classica, la via manuale, come da Codex.

Da amante di Linux posso dire con soddisfazione che è stata la scelta giusta e lascia grande soddisfazione, certo per chi, come me, deve aggiornarne altri la possibilità di automatizzare il tutto non è da tralasciare.

Ora mi metto a scoprire la versione 2.5 di WordPress e mi studio le novità.

Happy blogging.