wpdb
Définition : wpdb est la classe d’abstraction de base de données utilisée par WordPress pour exécuter des requêtes SQL et accéder aux tables. Son instance globale fournit des méthodes de lecture, d’écriture et de préparation.
Terminologie
Appellation officielle : wpdb
Autres appellations : Classe base de données WordPress, Objet global $wpdb
Comprendre le fonctionnement
WordPress instancie normalement un objet $wpdb qui représente la connexion principale aux données de l’installation. Il expose les noms des tables connues et des méthodes telles que get_row(), get_results(), insert(), update() et prepare(). Le préfixe des tables et l’organisation multisite peuvent influer sur les noms réellement utilisés.
L’accès direct en SQL doit rester justifié : lorsqu’une API WordPress de contenu, métadonnées ou options répond au besoin, elle respecte souvent mieux les mécanismes de cache et les conventions du Core. Pour une requête SQL paramétrée, wpdb::prepare() est nécessaire avec des espaces réservés adaptés. Préparer une requête ne remplace pas les contrôles d’autorisation.
Exemple concret
Une extension effectue une lecture précise dans sa propre table, en préparant les valeurs variables avant l’exécution.
Exemple de code commenté
<?php
// Usage à l’intérieur d’un plugin, WordPress déjà chargé.
global $wpdb;
$identifiant = 42;
$table = $wpdb->posts;
$titre = $wpdb->get_var(
$wpdb->prepare( "SELECT post_title FROM {$table} WHERE ID = %d", $identifiant )
);
// Pour afficher le titre : esc_html( $titre ).
Point technique à retenir
Ne jamais concaténer des valeurs utilisateur non contrôlées directement dans une requête SQL.
Termes associés
- Database API
- wpdb::prepare()
- Tables WordPress
