wp_list_pluck()

Définition : wp_list_pluck() extrait une propriété ou une clé de chaque élément d’une liste d’objets ou de tableaux. Elle permet de construire rapidement des collections simples à partir de résultats WordPress.

Comprendre et utiliser

À quoi sert ce terme ?

Elle réduit les boucles répétitives pour récupérer, par exemple, les identifiants de plusieurs publications ou leurs champs communs. Le code qui suit peut travailler avec un tableau de valeurs plus facile à comparer.

Fonctionnement technique

Le premier argument est une liste, le deuxième la propriété ou la clé à extraire et le troisième un index optionnel. Le résultat dépend de la structure des éléments fournis.

Dans quels contextes l’utiliser ?

Utiliser lorsque des objets homogènes ont déjà été récupérés et que seul un champ est utile. Pour de gros volumes, éviter de charger des objets complets lorsque la requête peut directement renvoyer les ID.

Cas concret : ATOOLPHA

ATOOLPHA souhaite préparer un rapport interne contenant uniquement les identifiants de trois publications sélectionnées.

Exemple de code commenté

Extrait PHP destiné à un plugin ou à un template WordPress, dans le contexte indiqué ; pas au contenu HTML de l’article.

<?php
$posts = get_posts( array(
    'post_type' => 'post', 'numberposts' => 3,
    'post_status' => 'publish',
) );
$ids = wp_list_pluck( $posts, 'ID' );
foreach ( $ids as $id ) {
    error_log( 'ID sélectionné : ' . absint( $id ) );
}

Décryptage de l’exemple

get_posts() fournit les objets ; wp_list_pluck() extrait leur propriété ID. Le journal reçoit seulement des nombres normalisés, sans sérialiser des contenus éditoriaux complets.

Résultat attendu

Le rapport technique consigne les identifiants des publications trouvées. Aucun article n’est modifié.

Exercice pratique et vérification

Tester avec deux objets WP_Post et un tableau associatif personnalisé. Comparer les propriétés disponibles et constater l’effet d’une clé absente.

Précautions et limites

Ne pas utiliser wp_list_pluck() comme substitut à une requête optimisée lorsque seules les clés primaires sont nécessaires pour des milliers de lignes.

À ne pas confondre

wp_list_pluck() extrait une colonne d’une liste ; wp_parse_args() fusionne des paramètres ; les deux fonctions résolvent des besoins différents.

Diagnostic avancé

Si un tableau d’ID est vide, vérifier les résultats initiaux et le nom exact de la propriété, sensible à la structure des éléments.

Choix d’architecture et déploiement

Pour un volume important, une requête qui ne charge que les identifiants peut être plus efficace qu’une liste complète d’objets suivie d’une extraction. Utiliser wp_list_pluck() lorsque les objets sont déjà utiles, plutôt que comme justification pour charger davantage de données.

Contrôle avant intégration

Contrôler la forme des données en entrée, l’absence de champs sensibles dans les journaux et l’utilité réelle de charger des objets complets.

Notions associées

  • get_posts()
  • WP_Post
  • wp_parse_args()

Références officielles

Bouton retour en haut de la page