Errore nella Bacheca Wordpress 2.1
27 Gennaio 2007
Se avete più di 1000 articoli o 1000 commenti (nel mio caso 2689 commenti), nella bacheca del vostro pannello di amministrazione avrete un errore simile al seguente (sul fondo della colonna di destra)
Parse error: syntax error, unexpected ‘,’ in /percorso_del_vostro_blog/wp-includes/gettext.php(313) : eval()’d code on line 1
Questo è il bug relativo, la soluzione è modificare il file wp-admin/index.php utilizzando questo diff; per i più pigri è possibile scaricare un file index.php già modificato (rinominare il file indexphp.txt in index.php), se siete disposti a sopportare la visione quotidiana di questo errore potrete aspettare la 2.1.1
Wordpress 2.1
27 Gennaio 2007
Da queste parti si è appena aggiornato a Wordpress 2.1: si ringrazia Wordpress Italy per la localizzazione in italiano, DreamHost per l’accesso ssh (mi ha fatto risparmiare una mezz’ora buona in backup e ravanamenti vari), MAMP per le verifiche in locale.

Tutto sembra funzionare al meglio (bello il nuovo editor!), l’unico plugin non funzionante è AJAX Comment Preview (al momento disattivato).
Diario del capitano, data astrale 2*1o^4
P.S. ovviamente qualcuno è riuscito ad infilarmi un commento subito dopo il backup del db: tempismo perfetto, considerando che tra l’ultimo backup e il passaggio alla 2.1 sono passati 30 secondi
Problemi plugin WP-Cache 2.0.20
6 Gennaio 2007
Ho approfittato dell’aggiornamento alla versione 2.0.6 di WordPress per aggiornare i (pochi) plugin che utilizzo e, purtroppo, mi sono appena accorto che la versione 2.0.20 di WP-Cache presenta dei problemi: quando viene inserito un commento la pagina non viene marcata come expired.
Di conseguenza l’utente non vede il proprio commento dopo averlo inserito; il commento non sarà visibile né sulla home page né sulla pagina del singolo articolo fino a quanto le pagine in questione non saranno scadute “naturalmente” (come impostazione predefinita questo avviene dopo un’ora).
Per il momento ho risolto installando la versione 2.0.19; l’autore è già a conoscenza del problema e sicuramente rilascerà a breve un aggiornamento per questo utilissimo plugin.
WordPress 2.0.6 in italiano
6 Gennaio 2007
A poche ore dal rilascio della versione inglese di WordPress, su Wordpress-it è già disponibile il download del pacchetto contenente la localizzazione in lingua italiana.
Buon aggiornamento;-)
Wordpress: statistiche Akismet nella sidebar
28 Dicembre 2006
Piccola premessa: esiste già un apposito widget da utilizzare nella sidebar per visualizzare il numero di messaggi bloccati da Akismet (potete vederlo all’opera direttamente nel blog di Akismet).
L’idea è quella di realizzare la stessa cosa direttamente nel codice php della sidebar e, cosa fondamentale, creare un codice valido W3C.
Questo è il codice da inserire (disponibile anche come file di testo), realizzato prendendo spunto dal plugin Akismet Spam Count:
<?php
$count = number_format(get_option('akismet_spam_count'));
if (($count) || (function_exists('akismet_stats'))) {
?>
<div id="akismetwrap">
<div id="akismetstats">
<a id="aka" href="http://akismet.com" title="">
<span id="akismet1">
<span id="akismetcount"><?php echo $count; ?></span>
<span id="akismetsc">commenti spam</span>
</span>
<span id="akismet2">
<span id="akismetbb">bloccati da</span><br />
<span id="akismeta">Akismet</span>
</span>
</a>
</div>
</div>
<?php
}
?>
Il codice è molto semplice:
- inserisce nella variabile $count il numero di messaggi spam bloccati
- se Akismet risulta installato visualizza il div con tutti i dati, in caso contrario non visualizza nulla
Il codice html è identico a quello generato dal widget, con la differenza che vengono utilizzati due tag span al posto dei div.
Questo è il css da associare al banner; già che c’ero ho allargato un po’ l’immagine del widget originale.
#akismetwrap #aka, #aka:link, #aka:hover, #aka:visited, #aka:active {
color:#fff;
text-decoration:none;
}
#akismetwrap {
margin: 10px 0 0;
}
#aka:hover {
border:none;
text-decoration:none
}
#akismet1, #akismet2 {
display: block;
}
#aka:hover #akismet1 {
display:none;
}
#aka:hover #akismet2, #akismet1 {
display:block;
}
#akismet2 {
display:none;
padding-top:2px;
}
#akismeta {
font-size:16px;
font-weight:bold;
line-height:18px;
text-decoration:none;
}
#akismetcount {
display:block;
font:15px Verdana,Arial,Sans-Serif;
font-weight:bold;
text-decoration:none;
}
#akismetwrap #akismetstats {
background:url(images/akismet.gif) no-repeat top left;
border:none;
color:#fff;
font:11px 'Trebuchet MS','Myriad Pro',sans-serif;
height:61px;
line-height:100%;
overflow:hidden;
padding:15px 0 0;
text-align:center;
width:141px;
}
Wordpress: tag cloud per le categorie
25 Dicembre 2006
In questa piccola guida vedremo come costruire una tag cloud artigianale per le categorie prendendo spunto dallo script presente in questa pagina.
Questo è il codice da inserire nella sidebar (è disponibile un file di testo con il codice):
<?php
// Recupero le informazioni sulle categorie dal database
$qrystr = "SELECT cat_ID, cat_name, category_count from $wpdb->categories ORDER BY cat_name";
$cats = $wpdb->get_results($qrystr);
//Recupero il numero massimo di post per una singola categoria
$max_value = 0;
foreach ($cats as $cat)
{
if ($max_value < $cat->category_count) {
$max_value = $cat->category_count;
}
}
//Considero 15 scalini , a partire da 60% a 200%
//Per modificare questi due valori basta modificare i valori delle variabili
$percentuale_minima = 100;
$percentuale_massima = 230;
$percentuale_scalino = 10;
$numero_scalini = ($percentuale_massima-$percentuale_minima)/$percentuale_scalino;
$post_per_scalino = $max_value / $numero_scalini;
// Stampo tutte le categoria all'interno di un div (id=cloud)
// assegno una classe alla categoria (o alle categorie) più grandi
echo '<div id="cloud">';
foreach ($cats as $cat)
{
$catname = $cat->cat_name;
$catlink = get_category_link($cat->cat_ID);
$postcnt = $cat->category_count;
$percentuale_fontsize = $percentuale_minima+(Round($postcnt/$post_per_scalino)*$percentuale_scalino);
echo '<a href="',$catlink,'"';
if ($percentuale_fontsize==$percentuale_massima) {
echo ' style="font-size: ', $percentuale_fontsize,'%" class="top_category" title="',$postcnt,' post">';
}
else {
echo ' style="font-size: ', $percentuale_fontsize,'%" title="',$postcnt,' post">';
}
echo $catname,"</a>\r";
}
echo "</div>";
?>
Breve spiegazione del codice:
- effettuo una query sul database di WordPress (tabella categories); l’interrogazione restituisce l’elenco delle categorie ordinato per nome. Tutti i dati necessari sono già presenti nei risultati di questa query (grazie al campo category_count)
- scorro tutti i risultati per ottenere il numero massimo di post per una singola categoria ($max_value)
- stabilisco la percentuale massima e minima del font-size da utilizzare per il carattere, la distanza percentuale tra i vari livelli e il numero di post necessari per passare di livello (per calcolare questo valore mi serve stabilire il $max_value)
- scorro le categorie e, ad ogni passo del ciclo, scrivo i dati della categoria corrente creando un link, nel tag title inserisco il numero di post (in questo modo apparirà un tooltip), se la percentuale del font-size è pari a quella massima assegno una classe speciale (top_category)
Questo è il css utilizzato per la tag cloud:
div#cloud {
border: 1px dotted #E4F0DB;
padding: 0.5em;
margin: 0.6em 0;
font-family: Tahoma, Verdana, Arial;
text-align: justify;
line-height: 1.7em;
}
div#cloud a.top_category {
color: #E87830;
}
div#cloud a.top_category:hover {
color: #C00;
}
A mio avviso questa soluzione presenta un vantaggio fondamentale rispetto al codice originale: non è necessario specificare nel css decine di classi per i vari link.










