Stanchi di vedere copiati i vostri articoli o le vostre immagini in altri blog?
Vi presentiamo No Copy, plugin per WordPress che disabilita nel vostro blog l’ utilizzo del tasto destro e dei tasti brevi ctrl+c, ctrl+a, ctrl+x.
Stanchi di vedere copiati i vostri articoli o le vostre immagini in altri blog?
Vi presentiamo No Copy, plugin per WordPress che disabilita nel vostro blog l’ utilizzo del tasto destro e dei tasti brevi ctrl+c, ctrl+a, ctrl+x.
WordPress nella sua nuova versione 3.1 introduce per comodità una nuova barra chiamata barra di amministrazione.Molti amministratori che utilizzano questo CMS( Content Managemet System ) si sono lamentati per la presenza di questa Administrator Bar,in quanto la reputano abbastanza inutile.
Per disattivare questa Bar ci sono varie considerazioni da effettuare :
1- Disattivare la Bar solo al tuo account
2- Disattivarla a tutti gli utenti
3- Disattivarla a tutti gli utenti,ma attivarla agli utenti che svolgono ruoli importanti
WordPress presto verrà aggiornata alla versione 3.1. Attualmente in fase di open best è giunto alla Release Candidate 2 già da Capodanno 2011.
La notizia è apparsa in quella data sul blog ufficiale di wordpress.org.
In tutti i modi la versione 3.1 era già in fase di sviluppo almeno da Novembre 2010, mese in cui è stata rilasciata la RC1.
Attualmente la Rc2 di WordPress 3.1 Beta risolve anche il Bug KSES peraltro già risolto dalla versione 3.0.4.
L’aggiornamento alla 3.1 tra i tanti bug fix dovrebbe includere una Admin Toolbar, che molto probabilmente assomiglia alla barra disponibile già in buddypress.
Dal post ufficiale che annuncia la RC2 è possibile scaricare tale versione; potresti pensare anche una volta installata di provarla e di riportare eventuali bug alla Automattic.
Puoi anche lasciare un commento per farci sapere cosa ne pensi
Il file sul quale dobbiamo intervenire è, come di consueto in questi casi, il file author.php presente all’interno della cartella del tema in uso.
La funzione di base che permette di mostrare la data di registrazione dell’utente di cui apriamo la pagina autore è la seguente:
if(isset($_GET['author_name'])) : $curauth = get_userdatabylogin($author_name); else : $curauth = get_userdata(intval($author)); endif; if(isset($_GET['author_name'])) : $curauth = get_userdatabylogin($author_name); else : $curauth = get_userdata(intval($author)); endif;
Questa prima porzione di codice, se hai già letto gli altri articoli a riguardo, dovrebbe essere già presente nel tuo file author.php, mentre la porzione che mostra la data di registrazione dell’utente a questo punto è semplicemente questa:
echo $curauth->user_registered;
In questo caso la variabile mostrata nella pagina sarà quella presa direttamente dal database, che ha un formato diciamo bruttino, visto che mostra la data completa, comprensiva di ora, minuti e secondi. Come detto prima il nostro obiettivo è quello di mostrare un formato “umano” per cui dobbiamo aggiungere ancora qualcosa al codice.
Innanzitutto dobbiamo creare una piccola funzione in grado di convertire la data grezza contenuta nella variabile nel formato “da quanto tempo”. La funzione può essere inclusa nel file functions.php anche se nel caso di Verticalismi ho preferito aggiungerla semplicemente sotto il blocco che seleziona l’autore richiesto (la prima porzione di codice mostrata in questo articolo) direttamente nel file author.php.
function age($date){
list($year,$month,$day) = explode("-",$date);
$year_diff = date("Y") - $year;
$month_diff = date("m") - $month;
$day_diff = date("d") - $day;
if ($day_diff < 0 || $month_diff < 0) $year_diff--;
if ($year_diff < 1){
return $month_diff." mesi";
}
elseif ($year_diff == 1){
return $year_diff." anno e " . $month_diff . " mesi";
}
else {
return $year_diff." anni e " . $month_diff . " mesi";
}
}
Ho cercato di pensare a tutte le possibilità, per cui il formato restituito dalla funzione dovrebbe rispettare singolare e plurale (anno e anni), mentre mostrerà soltanto i mesi nel caso l’utente non sia iscritto da almeno un anno (non avrebbe senso dire “0 anni e 3 mesi”).
Una volta aggiunta questa funzione basterà sostituire
echo $curauth->user_registered;
con
$since = $curauth->user_registered; echo age("$since");
Per ottenere il risultato voluto.
Adottando i consigli delle 3 guide che hanno trattato l’argomento sei già in grado di realizzare una pagina autore con i fiocchi. Puoi decidere di includere anche un comune loop per visualizzare anche i post pubblicati dall’autore selezionato per rendere questa pagina ancora più utile.
Le scelte grafiche, css ed in generale tutto ciò che riguarda l’impostazione visiva della pagina ovviamente sono a tua completa discrezione, puoi prendere spunto dall’esempio che ho riportato qui oppure dare un’impostazione del tutto diversa, e magari lasciare un commento qui per mostrare a tutti la tua opera
Se gestisci un blog/sito con più autori, ritengo sia una scelta azzeccata quella di creare una pagina apposita dove mostrare una lista di tutti gli autori che partecipano alla vita del sito.
Certo quando si tratta di 3-4 autori potresti pensare di creare la pagina manualmente ed inserire i vari dati tu stesso.
Se invece il sito ha un gran numero di autori, o come nel caso di Verticalismi, qualsiasi iscritto è a sua volta un autore, la scelta di generare la pagina autori automaticamente è sicuramente quella più azzeccata.
Quello che ti propongo in questo articolo è una vera chicca. Nel codex ufficiale di WordPress, infatti, non vi è nulla di simile. Le guide che trovi in giro ti spiegano semplicemente come mostrare una lista degli autori ed al massimo il numero di post che hanno pubblicato.Insomma, lasciamelo dire, ti sto svelando un mio piccolo “segreto”
Qui invece vedremo come creare una pagina autori che si aggiorna automaticamente e che mostri anche l’avatar di ciascun utente. Ogni avatar poi, linka alla rispettiva pagina autore (leggi questo post per scoprire come migliorare la pagina del singolo autore e non perderti gli articoli correlati!).
Partiamo dalla fine. Il risultato che otterremo, in questo caso, sarà quello di una pagina dalle sembianze di un muro/mosaico con vari tasselli che corrispondono agli autori con rispettivo avatar.

Puoi vedere questo risultato live a questo indirizzo. Ovviamente con un minimo di css puoi ottenere i risultati più disparati. Dipende da te e dai tuoi gusti!
Per generare questa pagina, devi creare un template pagina che puoi chiamare autori.php. Questo file php non è altro che una copia del file page.php, al quale però aggiungerai all’inizio:
< ?php /* Template Name: Autori */ ? >
E dal quale rimuoveremo il loop utilizzato per mostrare la pagina (quello che inizia con qualcosa del tipo if have_post()).
La funzione che lista tutti gli autori è la seguente:
<?php function autori_sito() {
global $wpdb;
$authors = $wpdb->get_results("SELECT ID, user_nicename from $wpdb->users WHERE user_login <> 'admin' ORDER BY display_name");
foreach($authors as $author) {
echo "<li>";
echo "<a href=\"http://www.sito.ext/author/";
the_author_meta('user_login', $author->ID);;
echo "\">";
echo get_avatar($author->ID);
echo "</a>";
echo '<span>';
the_author_meta('nickname', $author->ID);
echo "</span>";
echo "</li>";
}
}
?>
<ul>
<?php autori_sito(); ?>
</ul>
La funzione recupera dal database in uso gli autori del sito, e li ordina per nome. Per lo scopo che mi ero prefissato nell’utilizzare questo codice ho anche aggiunto WHERE user_login <> ‘admin’ che mi è servito a filtrare dagli utenti restituiti quello di amministrazione. Questa parte ovviamente è a tua discrezione e puoi rimuoverla.
Come puoi vedere il link autori viene generato del tipo www.sito.ext/author/nomeutente. Questo perchè nell’esempio diamo per scontato di adottare mod_rewrite. Se la struttura dei tuoi url è diversa devi modificare questa parte di conseguenza.
La struttura della lista utenti è restituita per l’appunto come lista non ordinata (<ul>). Ogni elemento di questa lista (<li>) contiene poi, a parte l’immagine dell’avatar, un elemento <span> che contiene il nickname dell’utente e viene posizionato come fosse in sovrimpressione sull’avatar.
Il codice CSS che è scaturito è quindi il seguente:
/* Lista autori */
.autori_lista li{
display: block;
width: 64px;
height: 64px;
margin:5px;
float:left;
position: relative;
}
.autori_lista li img{
margin-bottom:5px;
}
.autori_lista li span{
font-size: 8px;
line-height: 8px;
padding:2px;
background-color: #777;
position: absolute;
bottom: 0px;
left: 3px;
color:#f2f2f2;
}
A questo punto non ti resta che creare una nuova pagina e selezionare il template appena creato come template della pagina.
Spero che ti sia utile questo codice, e se lo riutilizza, beh un grazie fa sempre piacere
Come avrai notato qui su Erriko.it come anche in tanti altri siti e blog, l’utilizzo di thumbnail è ormai uno standard. Utilizzare le thumbnails non solo vivacizza il sito ma rende più immediati e comunicativi gli estratti dei post.
Un bel po’ di tempo fa avevo illustrato un modo per specificare l’immagine da utilizzare come thumbnail. Metodo che si mantiene ancora valido nel caso volessi utilizzare come thumbnail un’immagine diversa da quella contenuta nel post, vuoi perchè ti piace variare, vuoi perchè una determinata immagine si adatta meglio alle dimensioni contenute della thumbnail.

Quello che invece vado ad illustrare questa volta è come utilizzare automaticamente la prima immagine inserita in un post come thumbnail e, in mancanza di questa, mostrarne una di default. Che poi è il metodo che utilizzo anche qui (fatti un giro nel sito per vedere come funziona). E’ molto più comodo, visto che non devo specificare manualmente l’url e fa risparmiare un po’ di tempo.
Per definire la thumbnail in maniera automatica, ti serve una piccola funzione da aggiungere al file functions.php presente nella cartella del tema in uso.
Cosa fa questa funzione? Beh, si tratta di una sorta di “filtro” che controlla il contenuto di un post alla ricerca del primo un tag <img> così da poter estrapolare l’indirizzo dell’immagine. Nel caso in cui ciò non fosse possibile (se cioè il post non contiene immagini) restituirà un indirizzo predefinito, un’immagine creata da te appositamente per i casi in cui non c’è un’immagine disponibile.
Chiaramente la funzione va tra i tag <?php e ?> ed è la seguente:
/* Funzione che cerca la prima immagine di un articolo. Se non la trova ne restituisce una predefinita */
function get_first_image() {
global $post, $posts;
$first_img = '';
ob_start();
ob_end_clean();
$output = preg_match_all('//i', $post->post_content, $matches);
$first_img = $matches [1] [0];
if(empty($first_img)){
//Definisco l'immagine predefinita
$first_img = get_bloginfo('template_url') . "/images/default.gif";
// l'immagine predefinita si trova nella cartella "images" del tema
}
return $first_img;
}
Adesso che abbiamo la nostra funzione che estrapola l’url della prima immagine da ogni post non ci resta che inserirla nel loop che mostra gli articoli.
Può essere richiamata in qualsiasi loop (dell’index, degli archivi, del post stesso) e, ovviamente, l’immagine può essere formattata come si vuole con l’ausilio di css.
E’ davvero facile: basta richiamare la funzione all’interno del sorgente dell’immagine. In questo modo:
<img src="<?php echo get_first_image() ?>" />
L’esempio precedente chiaramente è quello più basilare, potrebbero (e dovrebbero) essere specificate le dimensioni, l’alt, magari l’immagine andrebbe anche linkata… Questo ovviamente dipende sempre da te, dai tuoi gusti ed esigenze.
Happy Blogging!
Quando il numero dei post e dei commenti cominciano ad aumentare, l’ottimizzazione del database è un’operazione che può migliorare le prestazioni del blog (e alleggerire il carico della cpu del server).
L’ottimizzazione è possibile grazie al plugin Optimize DB. Optimize DB invoca il comando mysql optimize table (quì maggiori info) che funziona in modo analogo alla deframmentazione del disco (vedi defrag di windows).
Probabilmente molti di voi avranno un blog o almeno sapranno di cosa sto parlando: mi riferisco a tutti quei servizi come Windows Live Spaces, Blogger, WordPress.com, Altervista, che mettono a disposizione degli utenti un sistema in grado di gestire degli articoli scritti da uno o più autori e permettere ad altri di commentarli.
Ora, può essere molto comodo anche per ottenere pubblicità creare una pagina Facebook che si colleghi in maniera automatica al nostro blog e crei un link per ogni articolo: vedremo nel dettaglio come fare. Innanzitutto dobbiamo creare una pagina sul social network, andando a questo indirizzo.
Creare un blog o un sito web più “sociale” è importantissimo oggi come oggi. Tra gli spunti che ho provato a fornirti, avrai letto sicuramente come è possibile aggiungere ad ogni profilo utente più informazioni, come ad esempio i vari id e url dei profili sociali (Facebook, Twitter, Flickr e via dicendo).
Visto che avevo già mostrato a titolo di esempio la pagina autore di Verticalismi, riprenderò questo esempio per continuare il discorso. Questa volta vedendo come è possibile mostrare da quanto tempo è iscritto al sito un utente/autore.
Come puoi vedere appunto nelle pagine autore di Verticalismi, non mi sono limitato a mostrare la data di iscrizione dell’utente. Mi sembrava una soluzione troppo asettica. Ho voluto invece dare un’informazione “più umana” mostrando appunto “da quanto tempo” l’utente si è iscritto al sito.

Il file sul quale dobbiamo intervenire è, come di consueto in questi casi, il file author.php presente all’interno della cartella del tema in uso.
La funzione di base che permette di mostrare la data di registrazione dell’utente di cui apriamo la pagina autore è la seguente:
if(isset($_GET['author_name'])) : $curauth = get_userdatabylogin($author_name); else : $curauth = get_userdata(intval($author)); endif; if(isset($_GET['author_name'])) : $curauth = get_userdatabylogin($author_name); else : $curauth = get_userdata(intval($author)); endif;
Questa prima porzione di codice, se hai già letto gli altri articoli a riguardo, dovrebbe essere già presente nel tuo file author.php, mentre la porzione che mostra la data di registrazione dell’utente a questo punto è semplicemente questa:
echo $curauth->user_registered;
In questo caso la variabile mostrata nella pagina sarà quella presa direttamente dal database, che ha un formato diciamo bruttino, visto che mostra la data completa, comprensiva di ora, minuti e secondi. Come detto prima il nostro obiettivo è quello di mostrare un formato “umano” per cui dobbiamo aggiungere ancora qualcosa al codice.
Innanzitutto dobbiamo creare una piccola funzione in grado di convertire la data grezza contenuta nella variabile nel formato “da quanto tempo”. La funzione può essere inclusa nel file functions.php anche se nel caso di Verticalismi ho preferito aggiungerla semplicemente sotto il blocco che seleziona l’autore richiesto (la prima porzione di codice mostrata in questo articolo) direttamente nel file author.php.
function age($date){
list($year,$month,$day) = explode("-",$date);
$year_diff = date("Y") - $year;
$month_diff = date("m") - $month;
$day_diff = date("d") - $day;
if ($day_diff < 0 || $month_diff < 0) $year_diff--;
if ($year_diff < 1){
return $month_diff." mesi";
}
elseif ($year_diff == 1){
return $year_diff." anno e " . $month_diff . " mesi";
}
else {
return $year_diff." anni e " . $month_diff . " mesi";
}
}
Ho cercato di pensare a tutte le possibilità, per cui il formato restituito dalla funzione dovrebbe rispettare singolare e plurale (anno e anni), mentre mostrerà soltanto i mesi nel caso l’utente non sia iscritto da almeno un anno (non avrebbe senso dire “0 anni e 3 mesi”).
Una volta aggiunta questa funzione basterà sostituire
echo $curauth->user_registered;
con
$since = $curauth->user_registered; echo age("$since");
Per ottenere il risultato voluto.
Adottando i consigli delle 3 guide che hanno trattato l’argomento sei già in grado di realizzare una pagina autore con i fiocchi. Puoi decidere di includere anche un comune loop per visualizzare anche i post pubblicati dall’autore selezionato per rendere questa pagina ancora più utile.
Le scelte grafiche, css ed in generale tutto ciò che riguarda l’impostazione visiva della pagina ovviamente sono a tua completa discrezione, puoi prendere spunto dall’esempio che ho riportato qui oppure dare un’impostazione del tutto diversa, e magari lasciare un commento qui per mostrare a tutti la tua opera
Se hai letto il precedente post, avrai notato che è possibile personalizzare la sezione ‘informazioni contatti’ di ogni profilo utente in WordPress rimuovendo i campi che ritieni superflui.
Se quindi la scorsa volta ci siamo concentrati sulla fase eliminazione, in questo articolo vedrai come aggiungere nuovi campi contatto al profilo degli utenti del tuo sito/blog.
Durante la realizzazione della versione 2.0 di Verticalismi.it, ad esempio, ho pensato di rimuovere i campi che abbiamo già visto nel precedente articolo, ed aggiungere quelli dedicati all’indirizzo del blog, all’id Twitter, alla pagina su Flickr, al profilo di Facebook e LinkedIn, all’indirizzo su DeviantART, ed al contatto Skype.
Mi sembrava una scelta più completa ed al passo con i tempi, inoltre trattandosi di artisti il profilo Flickr e DeviantART mi sembrava d’obbligo.

Per aggiungere nuovi campi ai contatti devi aggiungere al file functions.php del tema in uso il seguente codice:
// Aggiungi nuovi campi ai contatti degli utenti function
add_profile_contactmethod( $contactmethods ) {
$contactmethods['blog'] = 'Blog';
$contactmethods['twitter'] = 'Twitter ID';
$contactmethods['facebook'] = 'Facebook';
$contactmethods['flickr'] = 'Flickr';
$contactmethods['linkedin'] = 'Linkedin';
$contactmethods['deviantart'] = 'DeviantART';
$contactmethods['skype'] = 'Contatto Skype';
return $contactmethods;
}
add_filter('user_contactmethods','add_profile_contactmethod',10,1);
Ovviamente è possibile aggiungerne di altri semplicemente mettendo il nome desiderato per la variabile all’interno di [''] mentre il nome da visualizzare nel campo va posto dentro gli apici che seguono =.
Se vuoi combinare questo codice con quello già visto per rimuovere i campi superflui ti basta inserire un codice del genere:
// Aggiungi nuovi campi ai contatti degli utenti function
add_profile_contactmethod( $contactmethods ) {
$contactmethods['blog'] = 'Blog';
$contactmethods['twitter'] = 'Twitter ID';
$contactmethods['facebook'] = 'Facebook';
$contactmethods['flickr'] = 'Flickr';
$contactmethods['linkedin'] = 'Linkedin';
$contactmethods['deviantart'] = 'DeviantART';
$contactmethods['skype'] = 'Contatto Skype';
// Rimuovi quelli superflui
unset($contactmethods['yim']);
unset($contactmethods['aim']);
unset($contactmethods['jabber']);
return $contactmethods;
}
add_filter('user_contactmethods','add_profile_contactmethod',10,1);
Quando un utente pubblica un post, nella maggior parte dei casi, vi è un link che sul nome dell’autore dell’articolo che rimanda alla pagina dedicata a quest’ultimo. Se vuoi mostrare in quella pagina le informazioni conservate in questi campi devi modificare il file author.php ed aggiungere qualcosa del genere:
if(isset($_GET['author_name'])) :
$curauth = get_userdatabylogin($author_name);
else :
$curauth = get_userdata(intval($author));
endif;
if (!empty($curauth->facebook)) { // verifico che la variabile non sia vuota, e restituisco l'informazione solo se non lo è
echo "facebook; "\">". $curauth->facebook; .""; // mostro l'indirizzo del profilo di facebook con il link allo stesso
}
Il secondo blocco va ripetuto per ogni campo da mostrare e la variabile va modificata in base al nome scelto in precedenza nel file functions.php.
Con qualche accorgimento e modifica css puoi ottenere un risultato molto gradevole. La formattazione css e le scelte sui campi da utilizzare sono del tutto personali e non sono oggetto di questo articolo, ma posso mostrarti, a titolo di esempio, quello che ho ottenuto su Verticalismi nella pagina autore.
Hai notato che nella pagina autore che ti ho linkato come esempio c’è un campo che mostra da quanto tempo è iscritto un utente? Bene, questo sarà l’argomento del prossimo post, per cui stay tuned!