Archivi per la categoria Hack

WordPress 2.7 le nuove api dei commenti

4

Le nuove api dei commenti ci forniscono degli strumenti interessanti come i commenti nidificati,la facile suddivisione tra commenti, pingback e trackback,paginazione e altre ancora ma, ci costringono alla riscrittura dei nostri temi per poterle far funzionare.

La maggior parte di queste funzione possiamo gestirle direttamente dalle impostazoni discussione nella bacheca ma per forza di cose dovremo modificare il loop dei commenti.

Per ora le nuove funzioni non sono ancora spiegate nel codex ma potete cominciare a studiarle in questi articoli.

Al momento non traduciamo niente perchè comunque è un work in progress, appena sarà definitivo provvederemo a pubblicare le istruzioni complete.

Naturalmente il punto di partenza migliore è sempre il tema di default aggiornato.

http://ottodestruct.com/blog/2008/09/29/wordpress-27-comments-enhancements/

http://sivel.net/2008/10/wp-27-comment-separation/

http://planetozh.com/blog/2008/09/get-your-wordpress-theme-ready-for-27/

http://comox.textdrive.com/pipermail/wp-hackers/2008-October/021973.html

Immagini – rendere compatibile i temi con WordPress 2.6

16

Molti hanno notato che con WordPress 2.6 non riescono più a gestire l’allineamento delle immagini, questo non è un bug, semplicemente il vostro tema non è aggiornato per wordpress 2.6.

Con WordPress 2.6 inoltre è stata inserita la gestione dei caption e cioè la descrizione dell’immagine stampata sotto l’immagine stessa.

Aggiornare il tema è molto semplice:

Andate in Design -> Editor temi e selezionate il tema standard.

Nel file Style.css trovate questo codice:


/* Begin Images */
p img {
padding: 0;
max-width: 100%;
}

/*    Using class='alignright' on an image will (who would've
thought?!) align the image to the right. And using class='centered',
will of course center the image. This is much better than using
align='center', being much more futureproof (and valid) */

img.centered {
display: block;
margin-left: auto;
margin-right: auto;
}

img.alignright {
padding: 4px;
margin: 0 0 2px 7px;
display: inline;
}

img.alignleft {
padding: 4px;
margin: 0 7px 2px 0;
display: inline;
}

.alignright {
float: right;
}

.alignleft {
float: left
}
/* End Images */

Copiatelo e incollatelo nello style.css del vostro tema avendo cura di eliminare vecchie dichiarazioni per le img presenti.

Fatto questo funzionerà perfettamente la gestione dell’allineamento delle immagini.

Naturalmente potete modificare come preferite i valori, l’importante è che siano definite queste classi img.centered, img.alignright, img.alignleft, .alignright, .alignleft

Per implementare la visualizzazione dei Caption andate sempre nello style.css del tema standard e copiate questa parte di codice:


/* Captions */
.aligncenter,
div.aligncenter {
display: block;
margin-left: auto;
margin-right: auto;
}

.wp-caption {
border: 1px solid #ddd;
text-align: center;
background-color: #f3f3f3;
padding-top: 4px;
margin: 10px;
-moz-border-radius: 3px;
-khtml-border-radius: 3px;
-webkit-border-radius: 3px;
border-radius: 3px;
}

.wp-caption img {
margin: 0;
padding: 0;
border: 0 none;
}

.wp-caption p.wp-caption-text {
font-size: 11px;
line-height: 17px;
padding: 0 4px 5px;
margin: 0;
}
/* End captions */

e incollatela nello style.css del vostro tema, modificate a piacere i parametri estetici e salvate.

PHP Cross Reference della trunk di WP

5

Ne ho parlato con alcuni al WordCamp, altri lo sapranno già altri no, ma da qualche settimana un volontario ha messo online una PHPXref sulla trunk di WP, che viene aggiornata se non erro due volte al giorno. Alcuni sviluppatori mi han fatto presente che sarebbe utile averla non solo sulla trunk ma anche sulle versioni precedenti di WP. Per i non tecnici PHPXref è un sistema che estrae dal codice moltissime informazioni e permette di navigarlo, cercare le funzioni WP, vedere dove sono referenziate ecc. ecc.

Avendo spazio e banda penso a breve di soddisfare i desideri degli sviluppatori e di fornire PHPXref sulla trunk (una seconda copia non fa male) e sulla penultima e terz’ultima versione principlae, quindi al momento sulla trunk, sulla 2.5.1 e sulla 2.3.3, poi vedremo in funzione della banda usata (ma ne abbiamo molta a disposizione) come sviluppare il servizio.

Le tre versioni sarebbero sufficienti? Idee, suggerimenti?

Mamma ho perso il sito! No problem.

28

Prima della mia breve assenza questo articolo credo sarà utile a molti. Prima o poi ci è capitato per errore, per test, per aver spostato un sito da locale ad online con settaggi diversi, di aver cambiato una o entrambe le URL che si impostano sotto Impostazioni => Generale rendendo il vostro sito inaccessibile. La soluzione spesso consigliata è quella di usare phpMyadmin per cambiare nella tabella wp_options le option_value di siteurl e home. Tuttavia esiste una alternativa semplice, si tratta di una delle novità introdotte sin dalla versione 2.2 e passata sotto silenzio: la disponibilità di due opzioni da inserire nel file wp-config.php.

Si tratta di due variabili WP_SITEURL e WP_HOME che corrispondono alle voci Indirizzo WordPress e Indirizzo del blog del pannelo di amministrazione di cui sopra. Se definite singolarmente o entrambe hanno la precedenza sui valori memorizzati nel database ed anzi forzano tali valori sostituendoli con quelli definiti per le due variabili. In pratica aggiungendo nel wp-config

define('WP_SITEURL', 'http://example.com/wordpress');

e/o

define('WP_HOME', 'http://example.com/wordpress');

sostituendo a http://example.com/wordpress il valore corretto per il vostro blog al primo accesso al blog o al pannello di amministrazione verranno usati i valori impostati in queste variabile che andranno anche a sotiture i valori presenti nel DB che avranno la precedenza sui valori presenti nel database. Per modificare permanentemente i valori nel database occorrerà tramite phpmyadmin editare la tabella XX_options (con XX uguale al prefisso scelto, solitamente wp_) e nei record con option_name uguale a siteurl e home cambiare il campo option_value con la url corretta.

Una utile applicazione di tali può essere per chi come me ha una installazione locale esatta copia di quella online con un dominio virtuale locale impostato su Apache. Già ora il mio wp-config ha un if che in base alla URL richiamata dal browser usa valori di accesso al DB diversi a seconda che si tratti di wordpress-it.it o della mia copia locale (wpit.loc). Aggiungendo queste due variabili nelle due casistiche dell’if posso trasferire il DB remoto in locale ed usarlo immediatamente senza dover modificare le voci nel database ed al contempo in caso ddi disastro effettuare il ripristino del database anche uin questo caso senza ulteriori interventi.

Importare da Splinder a WordPress

4

Infastidito dal sottoscritto, l’uomo-PHP ha modificato l’eccellente plugin di Terenzani, ed ha prodotto un nuovo importer. Dai primi test sembra funzionare egregiamente, malgrado sia ancora in alfa. Durante il fine settimana ho un paio di blog da migrare (e che blog!), ed avrò maggiori riscontri.

Per adesso, ecco come migrare da Splinder a WordPress.

  • L’importer è affamato di risorse, vi consiglio di non usarlo su una installazione online per problemi di prestazioni, inoltre potrebbe fallire se il vostro provider limita le query al database nell’unità di tempo. E’ meglio procedere con l’installazione di WordPress in locale. Si trovano parecchi post al riguardo, anche io ne ho scritto. Attenzione: avrete bisogno di PHP5 con estensione cURL abilitata, altrimenti l’importer non funzionerà. Io ho tagliato la testa al toro e uso il mio server Ubuntu.
  • Configurare il blog su Splinder per l’operazione. Attivare l’impaginazione del blog. Dal menu Configura –> Impaginazione –> Attiva la paginazione del blog: spuntate la voce “Sì”. Impostate il numero di post per pagina a 30, per velocizzare l’importazione. Cambiare il formato dell’ora. Dal menu Configura –> Impaginazione –> Formato dell’ora, selezionate il formato simile a questo “29/10/2006 18:30?. Attenzione: cambiate il formato dell’ora, non quello della data. Sostituite il template di Splinder utilizzando quello indicato da Fullo, e riportato anche nel file di importazione. Ricordate di salvare prima il vostro, se non utilizzate un template standard.
  • Importazione da Splinder: copiare l’importer nella cartella /wp-admin/import. Andate in Gestione –> Importazioni –> Splinder e inserite l’indirizzo del blog da importare.
  • Se avete fatto le cose per benino, vedrete scorrere una serie di rettangoli con i dettagli dei post che si stanno importando. Terminato il processo, controllate che sia tutto a posto: accenti, date, codice html nei post, commenti ecc ecc.
  • Adesso siete pronti per l’installazione online di WordPress sul vostro dominio.
  • L’ultimo passo è il salvataggio del db locale, e la reimportazione online.

Per alcune considerazioni operative, rileggete qui.

Nota importante: Al termine di questa procedura, prima di fare qualunque altra cosa, è necessario inserire l’url corretto del blog, editando la tabella wp_options nel campo option_value della riga nella quale option_name è siteurl. Si riconosce facilmente perché contiene qualcosa tipo http://localhost, che va cambiato con l’url corretto del blog. Fatto ciò, si può accedere al blog e impostare l’indirizzo corretto anche nel valore “Blog address (URL):” in Options –> General.
Questo perché l’importazione del db si porta dietro anche l’url del blog che punta all’installazione locale, e il valore va corretto altrimenti non funziona nulla.
Ho dovuto utilizzare l’importazione diretta del database, poiché il nuovo formato WXR di esportazione di WordPress produce un file molto pesante (non è compresso), che difficilmente si riesce a reimportare nel nuovo blog, a causa delle limitazioni sulle dimensioni dei files in upload imposte da PHP.

Stay tuned: nel weekend procedo ad un paio di importazioni…

[Autore: Andrea Beggi]