web-dev-qa-db-fra.com

get_children () ne fonctionne pas correctement - sur un seul post?

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.

1
kater louis

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 .

3
cjbj