Escape NGGallery, please!

Vi avevo anticipato che stavo cercando di far fuori dai miei siti le gallerie di immagini precedentemente generate con NGGallery, una plugin che all’epoca era all’avanguardia, ma che ora è stata surclassata dalle gallerie native di WordPress. Nel prosieguo vi spiego come ho fatto.

Escape NGGallery
Escape NGGallery

Per prima cosa ho utilizzato una plugin che trasforma gallerie NGG in gallerie WP. La plugin funziona scrivendo un indirizzo sulla barra del browser, e bisogna ripetere l’operazione per ogni singola galleria. In caso di multisito bisogna scrivere l’indirizzo in questo modo: “http://miosito.ecc/miosottosito/wp-admin/codice di attivazione della plugin”. La plugin funziona alla grande, le immagini vengono fisicamente importate nello spazio web ed indicizzate nel database: non lo sapevo, ma WP utilizza la stessa tabella per indicizzare articoli, immagini e tante altre cosette. L’unica pecca è che utilizza il formato di galleria standard, per cui le ho convertite in gallerie Jetpack (tiled, square tiled) manualmente.

NGG non produceva solo gallerie, ma gestiva anche immagini singole, e per debellare queste ultime mi sono fatto un codice da me. In sostanza il programma deve trasformare in ogni articolo:

[un codice (shortcode) NGG in cui l'unica informazione da salvare è l'indice dell'immagine]

in un:

<normale codice HTML per l'inserimento della stessa immagine incluso titolo e didascalia>

Per farlo si scorre tutto l’indice degli articoli alla ricerca dello shortcode (si interroga il database) e lo si rimaneggia salvando l’identificativo dell’immagine (ho utilizzato i comandi PHP strpos, strchr e substr_replace). Con l’identificativo immagine, sempre interrogando il DB, si ottengono il nome, l’indirizzo e la didascalia dell’immagine stessa, da riscrivere in formato HTML. Ciò fatto si aggiorna la tabella degli articoli (operazione sempre pericolosa, meglio fare prima un backup!).

Il tutto programmato alla pippa quale sono, ovvero senza utilizzare le classi di WP, ma partendo da zero (“from scratch”) e facendo pesante uso di “hardcoding”. I risultati si vedono: per far digerire le modifiche al database, ho utilizzato il comando real_escape_string(), per cui in tutte le didascalie gli apostrofi li vedete preceduti da un “/”! Un giorno farò fuori anche quelli [NdA, il problema è stato risolto scaricando la tabella e modificandola con un editor di testo 🙂 ], ma vuoi mettere la soddisfazione di veder scorrere sullo schermo “…Post 139 Updated…Post 140 Updated…Post 141 Updated…”!

Autore: Andy War

Born in Naples, 1965, lived in Princeton and France, then back to Italy. Comics. Grendizer, Star Wars, Lucky Luke. Architecture, Punk Rock. Sciattoproduzie, structures. Digital animations, running, hospitals. I live and work in Rome, married with two children.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *