Requête (Query)

La requête sert à décrire l’acte de sélection d’une loop, d’insertion ou d’une mise à jour de données dans la base de données MySQL qui contrôle votre site WordPress. Chaque fois que vous ou qu’un utilisateur consulte une page WordPress, des requêtes MySQL sont exécutées en arrière-plan pour aller chercher les données de vos pages depuis la base de données. Ces données sont ensuite utilisées pour générer dynamiquement du code HTML pour le navigateur.

Les requête (Query) dans WordPress

Lorsque les utilisateurs créent, modifient ou suppriment quoi que ce soit dans WordPress, certaines requêtes de base de données convertissent les entrées utilisateur en instructions, qui sont ensuite exécutées à l’aide de requêtes de base de données. WordPress vient avec des fonctions et des classes intégrées permettant aux développeurs et aux utilisateurs de parcourir la base de données. Par exemple WP_Query, WP_User_Query, get_comments, get_the_terms, get_posts, wp_get_recent_posts, etc.

Vous trouverez ci-dessous un exemple de lecture de la base de données quant aux articles d’une catégorie à l’aide de la classe WP_Query.

$query = new WP_Query ('cat = 12');

Le résultat de cette query contiendra tous les articles de la catégorie avec le ID 12, qui peuvent ensuite être affichés à l’aide de la loop WordPress.

Les requêtes peuvent également être utilisées pour créer de nouveaux enregistrements dans la base de données (par exemple, créer un article) ou pour éditer des enregistrements existants. Celles-ci sont effectuées automatiquement par WordPress, mais un développeurs peut également utiliser des requêtes pour stocker ses propres données dans la base de données WordPress.

global $wpdb;
$wpdb->query( 
    $wpdb->prepare( 
        "
                DELETE FROM $wpdb->postmeta
         WHERE post_id = %d
         AND meta_key = %s
        ",
            13, 'stars'
        )
);

Une Query WordPress peut rechercher des éléments en fonction de balises, catégories, titre, statut, etc. Les développeurs peuvent l’utiliser pour créer des widgets personnalisés ou des pages personnalisées pour afficher un ensemble de contenu particulier.