Le client veut montrer combien d'images attendent le lecteur dans un message. Je dis: facile facile. Maintenant je me rends compte: j'ai menti.
Le système utilise uniquement les galeries, même pour les images uniques.
$images = get_children(array(
"post_parent" => $post->ID, // $post->ID gives the right ID.
"post_status" => "any",
"post_type" => "attachment",
"post_mime_type" => "image"
));
count($images); // only post with id 12 shows correctly 14 entries
Dans une publication (ID 12, une entrée de test rapide), $images
est rempli avec le nombre correct d'entrées. Dans tous les autres articles que j'ai testés, $images
est incorrectement vide.
J'ai même copié exactement le même texte (à partir de l'onglet "Texte" de TinyMCE, et non de "Visual") pour le publier avec l'ID 298. Encore vide $images
. Les mêmes champs personnalisés. Les deux ont une vignette (même si je la supprime, pas de changement) - Mêmes réglages de taxonomie.
La fonction get_children
récupère les publications (une image téléchargée est également une publication) dépendantes de la publication avec un certain identifiant. Une image devient l'enfant d'un article lorsqu'elle est téléchargée lors de l'édition de cet article. Il ne devient pas l'enfant d'un message lorsqu'il est réutilisé.
Donc, si vous écrivez l'article A et que vous importez l'image B, B deviendra un enfant de A. Si vous écrivez ensuite l'article C et incluez l'image B dans une galerie, B ne deviendra pas un enfant de C. Si vous utilisez get_children
sur C, vous ne trouverez rien.
Ce que vous recherchez, c'est get_post_galleries
.