Questo blog e' libero dal NOFOLLOW!

10 hack per Wordpress. (#1)

Articolo presente in [ tips, wordpress ]

wp_logoIl 2008 è stato un anno positivo per WordPress e la sua community. Con il rilascio della versione 2.7, ha ulteriormente rafforzato il suo predominio nei confronti dei suoi concorrenti, sopratutto su Blogger, piattaforma di blogging targata Google.

Ma c’è ancora molto che non si sa su questo fantastico strumento di blogging e la banda di SmashingMagazine, ha avuto la brillante idea di segnalarci 10 utilissimi hacks per sfruttare al meglio tutte le potenzialità di WordPress, il cms più usato al mondo.

Quelli che andrò a proporvi, sono solo una prima parte della lista di 10 hacks per WordPress. Nei prossimi giorni questa lista verrà completata, quindi vi consiglio di abbonarvi al feed RSS del blog per rimanere aggiornati sull’evolversi dell’articolo.

Per ogni “trucchetto”, viene prima descritto il problema e successivamente spiegata la soluzione. Mi raccomando, fatene buon uso. ;-)

 

1. Mostrare gli annunci AdSense solo ai visitatori provenienti dai motori di ricerca.

adsense

Problema:
Chi utilizza AdSense sa benissimo che il click sull’annuncio proviene dal visitatore inesperto, che non riconosce un’annuncio pubblicitario e, in generale, non ha molta familiarità con il web. I frequentatori abituali del blog, invece, sanno come evitare la pubblicità e difficilmente cliccano su di essa.

Inoltre c’è anche da considerare lo “smart pricing” (prezzo particolarmente basso pagato per ogni click), il che significa avere un basso CTR (click-through rate) e bassi guadagni per ogni click ricevuto.

Soluzione:
Inseriamo in un array i motori di ricerca che vogliamo considerare come referrer per la visualizzazione degli annunci AdSense:

1. Aprite il file functions.php del vostro tema ed inserite queste righe di codice:
[code='css']
function scratch99_fromasearchengine(){
$ref = $_SERVER['HTTP_REFERER'];
$SE = array('/search?', 'images.google.', 'web.info.com', 'search.', 'del.icio.us/search', 'soso.com', /search/', '.yahoo.');
foreach ($SE as $source) {
if (strpos($ref,$source)!==false) return true;
}
return false;
}
[/code]

2. Una volta fatto ciò, copiate le seguenti righe di codice nella zona in cui volete visualizzare gli annunci AdSense, che saranno visibile solo ai visitatori provenienti dai motori di ricerca.
[code='css']
if (function_exists('scratch99_fromasearchengine')) {
if (scratch99_fromasearchengine()) {
INSERT YOUR CODE HERE
}
}
[/code]

Spiegazione del codice:
Questo hack si verifica quando viene chiamata la funzione scratch99_fromasearchengine(). All’interno dell’array denominato $SE, sono specificati quali motori di ricerca volete considerare per la visualizzazione degli annunci. Se il visitatore proviene da uno dei motori inseriti nell’array, la funzione in esame ritornerà valore true.

 

2. Evitare post duplicati dovuti a cicli multipli.

php-code

Problema:
Spesso si ha l’esigenza di inserire i post in zone diverse della homepage del proprio blog. come fare quindi per evitare che più cicli di inserimento dei post provochino la loro duplicazione?

Soluzione:
Grazie alla potenza dell’array possiamo verificare la presenza o meno del post ed evitare che venga inserito.

1. Cominciamo con la creazione dell’array che farà da contenitore di tutti i post presenti nel blog.

[code='css']

Loop n°1

< ?php
$ids = array();
while (have_posts()) : the_post();
the_title();
?>

< ?php $ids[]= $post->ID;
endwhile; ?>
[/code]

2. Adesso il secondo giro: verifichiamo con la funzione in_array(), la presenza o meno dell’ID del post. Se non è presente nell’array riempito al primo giro, vuol dire che non è stato inserito nella pagina.

[code='css']

Loop n°2

< ?php
query_posts("showposts=50");
while (have_posts()) : the_post();
if (!in_array($post->ID, $ids)) {
the_title();?>

< ?php }
endwhile; ?>
[/code]

Spiegazione del codice:
Quando il primo giro viene eseguito, tutti gli ID dei post esistenti vengonn inserito all’interno dell’array. Nel secondo giro, viene verificato se il post corrente è già visualizzato nella pagina, in caso contrario verrà reso visibile.

 

3. Sostituire “Next” e “Prev” con una paginazione personalizzata.

next-prev

Problema:
WordPress, di default, inserisce i link “Next” e “Prev” per permettere all’utente di navigare tra un post e l’altro. Certo meglio che niente, ma in rete si trovano diversi plugin che personalizzano questo tipo di navigazione visualizzando al posto dei link la paginazione. Come realizzare ciò nel nostro tema?

Soluzione:
Per attivare questo hack, useremo il plugin WP-PageNavi e lo inseriremo direttamente nel nostro tema.

1. Per prima cosa, scarichiamo il plugin.

2. Scompattiamo il .zip e carichiamo sul nostro server sia wp-pagenavi.php che wp-pagenavi.css ed attiviamo il plugin.

3. Apriamo i file in cui vogliamo inserire la paginazione (index.php, categories.php, search.php, etc.) e troviamo il seguente codice:
[code='css']

[/code]

Sostituiamo questa parte di codice con quello seguente:
[code='css']
< ?php
include('wp-pagenavi.php');
if(function_exists('wp_pagenavi')) { wp_pagenavi(); }
?>
[/code]

4. Una volta inserito il plugin nelle nostre pagine, dovremo “truccare” il nostro plugin. Per fare questo apriamo il file wp-pagenavi.php e andiamo alla riga #61 dove troveremo questo codice:

[code='css']
function wp_pagenavi($before = '', $after = '') {
global $wpdb, $wp_query;
[/code]

Dentro wp_pagenavi() aggiungeremo la chiamata alla funzione pagenavi_init(), in questo modo:

[code='css']function wp_pagenavi($before = '', $after = '') {
global $wpdb, $wp_query;
pagenavi_init(); //Calling the pagenavi_init() function
[/code]

5. L’ultima cosa da fare è inserire il .css del nostro plugin all’interno del blog. Apriamo il file header.php e aggiungiamo questa riga di codice all’interno del tag “< head >”.

[code='css']
[/code]

Spiegazione del codice:
Questo hack è molto semplice e facile da eseguire. Abbiamo semplicemente inserito la chiamata al plugin per la paginazione all’interno delle pagine che ci interessavano e assicurati che venisse tutto visualizzato correttamente, aggiungendo la chiamata alla pagenavi_init().

 

4. Recuperare automaticamente le immagini inserite nel post.

mix_gallery

Problema:
Usare i campi personalizzati (custom fields) per associare le immagini al post non è una cattiva idea, ma per molti utenti di WordPress, nasce l’esigenza di trovare un modo per recuperare tutte le immagini che sono presenti all’interno dell’articolo.

Soluzione:
Sfortunatamente non esistono plugin che ci possano aiutare, ma per risolvere il problema possiamo utilizzare un ciclo (loop) che prenda tutte le immagini contenute nel post e le mostri a video.

1. Inserite il codice che segue in qualunque punto del vostro tema.

[code='css']
< ?php if (have_posts()) : ?>
< ?php while (have_posts()) : the_post(); ?>
< ?php
$szPostContent = $post->post_content;
$szSearchPattern = '~]*\ />~';
// Run preg_match_all to grab all the images and save the results in $aPics
preg_match_all( $szSearchPattern, $szPostContent, $aPics );
// Check to see if we have at least 1 image
$iNumberOfPics = count($aPics[0]);
if ( $iNumberOfPics > 0 ) {
// Now here you would do whatever you need to do with the images
// For this example the images are just displayed
for ( $i=0; $i < $iNumberOfPics ; $i++ ) {
echo $aPics[0][$i];
};
};
endwhile;
endif;
?>
[/code]

Spiegazione del codice:
Come avete visto, il codice è un semplice ciclo php che si usa solitamente in WordPress, con la sola differenza dell’utilizzo delle espressioni regolari (regular expressions) per la ricerca delle immagini all’interno dell’articolo e la loro visualizzazione.

 

5. Creare un bottone “Condividi con Twitter”.

logo_twitter2

Problema: Questo hack è dedicato a tutti quelli che usano Twitter e vorrebbero condividere con tutti i propri amici, il post appena pubblicato attraverso questo servizio.

Soluzione:
Molto semplice, basta creare un link a Twitter, passandogli come parametro “status” il permalink dell’articolo.

[code='css']
Condividi su Twitter!
[/code]

Semplice no?? In alternativa, è stato sviluppato anche un plugin che fa la stessa identica cosa.

Spero che questo articolo sia stato di vostro aiuto. Mi raccomando, rimanete aggiornati e non perdete gli articoli dei prossimi giorni in cui vi proporrò gli altri 5 hack per WordPress che andranno a completare quest’articolo.

Se avete dubbi e volete dei chiarimenti, lasciate pure i vostri commenti.

 
 
Fonte: SmashingMagazine
Foto: JustAddWater, dolcevitaonline

Ti è piaciuto l'articolo? Vota Ok oppure No. Grazie Mille!

Puoi votare l'articolo anche qui, gli articoli precedenti qui.

Tags: [ , , ]
Ti è piaciuto l'articolo? Allora cosa aspetti, abbonati al feed. Oppure puoi lasciare un tuo commento, o fare il trackback a questo articolo dal tuo sito.

Fatal error: Call to undefined function wp_related_posts() in /home/geekmylo/public_html/wp-content/themes/true-elegance/true-elegance/single.php on line 46