WordPress + Database = WPDB

1 min read

Mi risulta facile immaginare come sia possibile l’elevato numero di hack per WordPress che usano il database ma non le funzionalità proprie del CMS. Tuttavia, solo perché qualcosa apparentemente funziona non significa che sia giusto o che funzioni anche su altre installazioni.

Con un paio di martellate si può adattare tutto anche allo sviluppo di software o di componenti per WordPress. Almeno questa è l’impressione che ho quando vedo alcune strutture che in certi forum compaiono con la descrizione “non funziona”. Gli errori si potrebbero però evitare sin dall’inizio – soprattutto lavorando con il database – se si usassero funzionalità testate.

In WordPress esiste una classe che mette a disposizione tutto ciò che è necessario per usare un database. La classe WPDB non si dovrebbe però utilizzare direttamente perché esiste già un’istanza a cui si può ricorrere tramite la variabile globale $wpdb. E’ importante sapere che con le funzionalità di questo oggetto non si possono soltanto inoltrare richieste alle tabelle di WordPress ma sono anche disponibili tutti i contenuti del database della configurazione.

Oltre al metodo generico get_results, che è da preferire alla funzione mysql_query di PHP, ci sono anche metodi per richieste diverse e altri per la manipolazione, la modifica, l’inserimento e la cancellazione dei dati. A questo proposito vorrei anche evidenziare i meccanismi di WordPress che offrono più sicurezza contro SQL-Injections.

Per ragioni di sicurezza si consiglia spesso di cambiare il prefisso delle tabelle di WordPress. Sono completamente d’accordo tuttavia – per fare un esempio – una richiesta diretta alla tabella wp_options non funzionerebbe più. WPDB però referenzia già le tabelle base dell’installazione, così è possibile scrivere statement SQL in modo più generico. Alla fine esiste anche la proprietà $wpdb->prefix che conosce anche il prefisso usato.

i18n & L10n for themes and plugins

La comunità italiana di WordPress è completamente rinata e con il WordCamp a Torino 2016 festeggia questo enorme successo. Sono fiero di potere fare parte...
realloc
5 min read

Menu item solo per user loggati

Solo ogni morte di papa c’è un nuovo post in questo blog… e poi anche così corto 😉 Lo snippet che trovate in questo articolo è stato...
realloc
33 sec read

Nuova versione: Multisite Language Switcher

Da oggi è online una nuova versione del Multisite Language Switcher. Per questo plugin mi passano ogni giorno oltre mille idee per la testa che valuto...
realloc
27 sec read

3 Replies to “WordPress + Database = WPDB”

Lascia un commento

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

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.

%d blogger hanno fatto clic su Mi Piace per questo: