Archivio della categoria ‘Wordpress’

Creare archivi dinamici su Wordpress

archives thumb Creare archivi dinamici su Wordpress

A volte, con un qualche riga di codice e senza fantasmagoriche conoscenze di programmazione si riescono a creare cose interessanti, utili e accattivanti che rendono un blog decisamente più appetibile. Nel caso di Wordpress, ad esempio, ho sempre voluto creare una sezione Archivio diversa da quelle classiche e monotone che si vedono sui vari blog, ma per mancanza di tempo ho sempre desistito.

Su Digging Into Wordpress, ho trovato questo articolo che non posso non segnalarvi e che voglio approfondire di sicuro.

Nel post è spiegato come creare una sezione dedicata all’Archivio dinamica con la possibilità di filtrare anno,mese e categoria rendendo più accattivante e più navigabile la sezione stessa all’utente in cerca di qualcosa di specifico.

Come vedrete leggendo il post, si tratta di utilizzare semplice html per creare le dropdowns e popolarne con mese/anno ( sfruttando la funzione wp_get_archives() ), un pò di php ( archives.php )per estrarre i dati dal database e mostrare i risultati delle varie queries eseguite dagli utenti e un pò di jQuery per il resto.

Se volete dare un’occhiata al risultato, eccovi una demo.

Debug su Wordpress con debugConsole

debugconsole frontend Debug su Wordpress con debugConsole

Dopo aver già presentato 4 tools per gestire al meglio il debug in php, scendiamo in dettaglio direttamente su WordPress.  Avere un debug interno alla piattaforma è, senza dubbio, molto comodo per ovvii motivi ed esistono diversi tipi di approccio e possibilità.

xDebug è uno di questi, ma anche FirePHP è molto ‘gettonato’ per la sua enorme versatilità e completezza. Non disdegnerei, però, nemmeno debugConsole che vado a presentarvi e che si autodefinisce così :

The debugConsole is a tool for debugging and tracing PHP5 applications on productive servers without compromising the live-traffic.

Vediamone alcune tra le principali caratteristiche.

Di norma, le funzioni di PHP ci permettono di ispezionare e conoscere le variabili e osservarle durante tutto il runtime impostando punti di controllo e scritture su file di log.

debugConsole sostituisce in toto il gestore degli errore di PHP,ma fa in modo che le comunicazioni e i vari avvisi di errore siano mostrati in una finestra popup che è sempre visibile sul sito. Logicamente, è possibile filtrare per IP in modo che il popup sia mostrato solo agli sviluppatori, e non ai visitatori. Inoltre, il tool è disattivabile (senza eliminare le istruzioni di debug dal codice) e riattivabile quando necessario.

Tra le varie caratteristiche, debugConsole può essere configurato per eseguire il debug,  misurare i tempi di esecuzione degli script e controllare l’esecuzione di ogni riga di codice tramite aggiunta di punti di controllo nel codice.

Inoltre, è possibile filtrare gli eventi e registrare i log della console in file di log per un check futuro.

debugConsole, quindi, è solo codice php da aggiungere alla vostra installazione Wordpress. Se, in una pagina, volete richiamare il popup con le varie info di errore, occorre solo aggiungere alla fine della URL la stringa ?debug=true. Al momento, è disponibile sia per il frontend che per il backend.

Implementare Adsense su un blog multiautore

google-adsense

Supponiamo che siete amministratori di un blog multi-autore. La gestione e la ripartizione dei guadagni tra i vari editors, in tal caso, ha diverse soluzioni. Una delle quali, la trovate nel plugin Geektwice Mounthly Counter segnalato nel post ‘7 plugin per gestire un blog multi autore su Wordpress

Ma se volessimo consentire ai vari editors (cosa molto accattivante, per loro) di inserire il loro adsense-code negli articoli scritti? La cosa potrebbe stimolarli e non poco a produrre molti articoli e di qualità, ma come risolvere situazione in termini di codice per evitare l’inserimento manuale del javascript e la creazione di un singolo account Adsense per ogni autore?

Ecco come poter fare creando solo un unico e condiviso account Adsense. Su questo account, create tanti separati canali quanti sono i vari autori e date al canale il nome dell’autore. Supponendo che il blog abbia tre autori (Marco, Luca e Paolo) potrete creare tre canali con quei nomi.

Ora, create 3 differenti ad-units (dello stesso formato, ad esempio 300×250) ed assegnatela una ad ogni canale prima creato magari con la convenzione : 300250_Marco, 300250_Luca ecc

Una volta fatto questo, preleverete il famoso codice adsense del tipo :

<script type="text/javascript"><!--
google_ad_client = "pub-xyz";  /* 300x250 - Marco */
google_ad_slot = "123789";
google_ad_width = 300;
google_ad_height = 250;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>

Il codice suddetto sarà simile per tutti e tre gli autori, tranne che per il valore di google_ad_slot che varierà in relazione all’autore e che può essere ben utilizzato come discriminante.

Eccoci al codice da scrivere. In primis, con poche righe javascript relazionate il codice all’autore :

<?php function get_ad_codes($author) {
if($author == 'peter')
return '123789';
elseif ($author=='sam')
return '987878';
else // default, no author found
return '964743';
} ?>

Quindi, supponendo siate su Wordpress, inserite pure il codice che segue come codice Adsense e al resto penserà la funzione get_ad_codes prima implementata.

<script type="text/javascript"><!--
google_ad_client = "pub-xyz";
google_ad_slot = "<?php echo get_ad_codes(get_the_author());?>";
google_ad_width = 300;
google_ad_height = 250;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>

Dubbi o domande?

Ottimizzare query SQL: velocizzare l’esecuzione di una query con ezSQL

iconDB thumb Ottimizzare query SQL: velocizzare lesecuzione di una query con ezSQL

La stragrande maggioranza delle applicazioni web, dei blog e dei siti poggia la sua struttura su un database. Capite bene perché rendere performante un database diventa un requisito fondamentale per le performances di qualsiasi applicazione internet.

Un primo e immediato intervento di ottimizzazione, quindi, può esser fatto sulle queries che restituiscono i vari dati perché velocizzare una loro esecuzione significherebbe sveltire di molto il caricamento delle pagine web, ad esempio.

In grandi e medi progetti o in blog già ben avviati, solitamente gli sviluppatori (o i CMS utilizzati) sfruttano funzioni PHP del tipo mysql_query() per interagire con il database.

Sebbene comodo e funzionale, utilizzare solo funzioni mysql_xxx potrebbe portare problemi qualora si voglia passare, magari, da un db MySQL a PostGres o Oracle, ad esempio.

ezSQL

ezSQL è una classe PHP che semplifica parecchio le interazioni degli script PHP con diversi tipi di database, velocizzando decisamente il lavoro di scrittura del codice. Con ezSQL, quindi, si possono sviluppare applicazioni indipendenti dal tipo di database utilizzato.
Qualora non lo sappiate, tale classe, anche se leggermente modificata, viene usata anche da WordPress per la gestione di tutte le interazioni con il database. In particolare, è la classe wpdb.
Sul sito dello sviluppatore c’è un’ampia documentazione, con diversi esempi.

Scaricare ed Installare ezSQL

Scaricate ezSQL e unzippate il contenuto laddove vi serve utilizzarlo.

Per utilizzarlo, quindi, nel vostro progetto o sul vostro blog, vi occorrono due files principali :  ez_sql_core.php, che è il core di ezSQL, mentre il secondo dipende dal database che volete utilizzare. Se, ad esempio, è MySQL, il file da includere sarà ez_sql_mysql.php.

Infine, utilizzare ezSQL è molto facile. Eccovi un esempio di come creare un oggetto ezSQL da utilizzare, poi, per vari scopi :

include_once "../shared/ez_sql_core.php";
include_once "ez_sql_mysql.php";
$db = new ezSQL_mysql('db_user','db_password','db_name','db_host');

Esempi

Come vedrete, ezSQL ha poche funzioni per eseguire queries rendendo il tutto estremamente semplice. Ecco, ad esempio, come effettuare una INSERT,una SELECT e come ottenere alcuni dati :

$db->query(“INSERT INTO users (id, name, email) VALUES (1,’Pecciola’,'pecciola@google.com’)”);

——————————————————

foreach ( $db->get_col(“SELECT name,email FROM users”,0) as $name ) {
echo $name;
}

——————————————————

$user = $db->get_row(“SELECT name, email FROM users WHERE id = 4″);

echo $user->name;
echo $user->email;

——————————————————

Vi linko questa pagina dove troverete esempi completi che vi dimostrano quanto sia più snello e facile interagire con un database sfruttando ezSQL piuttosto che passare dai metodi classici.

Oltre a risparmiare righe di codice, capite come anche i controlli sulle varie operazioni sono più veloci, ma soprattutto avrete script in grado di funzionare anche se utilizzate un database diverso da mySQL.

3 plugins per ottimizzare il database su Wordpress

wordpress-logo

Come ben sapete, ogni blogger che abbia un minimo di esperienza deve non solo pensare a scrivere articoli di qualità, ma anche a gestire al meglio il proprio blog ottimizzandolo laddove occorre.

Gli utenti che usano Wordpress, tra i tanti aspetti troppo spesso trascurati, si dimenticano che tutta l’installazione del loro CMS (e buona parte delle performances) dipendono da come è ottimizzato il database e tutto ciò che è presente intorno ad esso.
Continua a leggere »

7 plugins per gestire un blog multi autore su Wordpress

Gestire un blog multi autore su Wordpress ha notevoli vantaggi soprattutto perché i plugins a disposizione dei vari autori e dell’admin son tanti e tali che organizzare e pianificare le attività è davvero semplice. Tra le tante possibilità, in questo post voglio presentarvi alcuni plugins di cui credo sia impossibile fare a meno per la [...]

Wordpress : Come escludere posts con tag o categorie specifici dai feed RSS

La diffusione degli articoli di un blog tramite feed RSS è uno strumento ormai basilare per ogni blogger. Inoltre, il numero di abbonati via feed è, spesso, un parametro importante nel misurare la bontà e il successo del blog stesso. Su Wordpress, ad esempio, ci sono molte possibilità per intervenire via codice al fine di [...]

Come creare, aggiornare e configurare il wp-config.php – Seconda parte

Accanto a configurazioni e opzioni principali, come visto nella prima parte, il file wp-config.php consente anche di definire alcuni settings specifici al fine di ottimizzare le performances del vostro blog o di metterlo maggiormente in sicurezza oppure di migliorarlo sotto vari aspetti. Eccovi, in questa seconda parte, alcune tra le più interessanti e utili possibilità [...]