Piccole cose che migliorano la vita
il April 10th, 2007 da datHo un modem 56k, no, non in fondo ad un armadio o a prendere polvere in cantina, è qui vicino a me, con le sue lucette natalizie. Chiaramente, ringraziando Telecom, non posso avere l’adsl, e mi sorbisco un’altalenante web doppino da 56 cappa.
Tutto questo incipit per dire soltanto che mi infastidisco a mille quando devo aprire un sito pesaaaaaante o un blog infinitooooooooooo con mille post in home?? Ovviamente no, e a breve scoprirai perchè.
Siccome quando bestemmio sui siti degli altri voglio avere le spalle coperte dare il buon esempio mi sono messo a smanettare con wordpress in cerca di soluzione. Ed ecco il mio personale auto-brainstorming con topic “come avere un blog leggero ma efficente?“:
- diminuire il numero di post
- tenere il num di post ma usare <!– more –> aggressivo
- farmi un caffè
- modificare il template
dopo la prima brain-fase è necessario raffinare le idee in maniera critica:
- diminuire i post a chessò, 4 o 5, sarebbe un seouicide (e comunque non mi piace);
- il more way è orrendo e ad ogni modo aprire tre o quattro pagine pesa parecchio;
- ottima idea che però esula un attimo dal contesto;
- a quanto pare mi sa che devo aprire un ssh+pico sul server …
allora rotta verso il punto 4, capitano. Volendo quindi modificare il template mi faccio un giro sul sito di wordpress e scopro tante cose interessanti come ad esempio i loop doppi o la funzione query_post. Gli ingredienti ci sono, adesso bisogna diventare operativi.
Prima di tutto porto a 5 i post visualizzati in home page usando le opzioni dal pannello di wordpress.
Poi aggiungo un secondo loop all’interno del file index.php del tema che uso. Più o meno una cosa del genere:
<?php if (is_home() && !is_paged() ) { ?>
<?php query_posts(‘showposts=15&offset=5′); ?>
<h4>Post vecchi ma non per questo meno interessanti</h4>
<?php if (have_posts()) : ?>
<?php while (have_posts()) : the_post(); ?>
<?php the_date(); ?>
<a href=”<?php the_permalink() ?>” rel=”bookmark” title=”<?php the_title(); ?>”><?php the_title(); ?></a>
<?php the_category(‘, ‘) ?>
<?php endwhile; ?>
<?php endif; ?>
<?php } ?>
Così facendo vengono visualizzati completamente i primi 5 post e a seguire i titoli dei 15 post successivi.
La cosa poteva anche finire qui se non fosse stato per quella vocina interna che mi diceva: “coglione guarda quanti termini ti perdi dalla home page lasciando solo i titoli dei post, e google questo te lo farà pagare“. Come dare torto alla vocina??
Passiamo quindi alla seconda fase: cercare un plugin che mi ritorni i termini più importanti del post. Io non l’ho trovato, se esiste già segnalatemelo. Per adesso me ne sono scritto uno mio, senza troppe pretese, partendo dall’ottimo Similar Posts che avevo già in casa.
Più o meno ho copiato/modificato un paio di funzioni per far sputare fuori i termini più frequenti di un post. Il risultato l’ho messo in questa pagina dedicata, nella speranza che qualcuno che sappia programmare veramente lo sistemi e lo renda decente. Se e come funziona lo vedete in home page (giù giù, vai fino in fondo). Ad ogni modo, una volta installato basta aggiungere questo
<?php
if (function_exists(post_term_list)) {
echo “In questo post, con gran confusione: <br />”;
post_term_list($post->ID);
} ?>
all’interno del secondo loop. A dire il vero dovrei raffinare almeno la stop word list ma alle due e un quarto di notte è ora di spegnere …
nessuno che commenta questo post ?? possibile che la mia crociata per mettere a dieta i blog non trovi sostenitori? sarò destinato ad affogare da solo col mio 56k?
che tristezza …
Io il tuo post lo trovo molto interessante. Purtoppo non conosco PHP, mi piacerebbe molto imparalo. Io ho un blog: http://www.inambiente.it/inblog e ho avuto il tuo stesso problema, o meglio a me non piaceva che in home page venissero visualizzati i post per intero. Ho prima trovato una soluzione per far visualizzare sono una parte dei post (tipo i promi 500 caratteri) ma poi ho pensato che solo i titoli (con magari dei tag) fossero più che necessari. Il tuo post è stato molto interessante…
Ciao, sono alle prime armi con WP e stavo provando a modificare il loop in maniera che mi restituisse la seguente struttura:
Primo post
Contenuto statico
Altri 4 post
Altro contenuto
Ho preso ispirazione da parte del tuo codice e riesco a realizzare quello che desidero senza problemi per la prima pagina. Le pagine successive però non mi visualizzano i post, ma solo il contenuto diciamo “statico”.
Ho usato due condizionali seguiti da due loop normali, come segue.
Visualizzo il primo post:
Qui metto quello che voglio
Chiudo con quello che voglio.
Non dovrebbe essere niente di trascendentale ma non trovo documentazione adeguata online e ti sarei grato se potessi aiutarmi.
Hai i tag html disabilitati e non mi ha preso il codice del loop che ti avevo scritto, te lo metto fuori dai tag xmp:
Visualizzo il primo post:
————————–
—————–
Qui metto quello che voglio
——————
Visualizzo gli altri 4 post:
————————
———————
Chiudo con quello che voglio
——————–
beh io il doppio loop lo uso solo in home page che tanto nelle altre pagine non ci finisce mai nessuno, magari mandami una mail col codice che gli do un’occhiata (l’indirizzo lo trovi nella pagina “contact”)
ciao