Comment obtenir toutes les pièces jointes de publication dans WordPress, à l'exception de l'image sélectionnée
Récemment, alors que nous travaillions sur un projet personnalisé pour un client, nous devions obtenir toutes les pièces jointes à un message à partir d’un type de message personnalisé et les afficher au même endroit. Comme nous étions en train de créer un affichage en grille, l'image sélectionnée de chaque publication servait de séparateur. C'est pourquoi lors de l'obtention de toutes les pièces jointes, nous avons dû exclure l'image sélectionnée afin qu'elle n'apparaisse pas deux fois. Dans cet article, nous allons vous montrer comment obtenir toutes les pièces jointes de publication dans WordPress, à l'exception de l'image sélectionnée..
Tout ce que vous avez à faire est de coller le code suivant dans une boucle.
post_type == 'data-design' && $ post-> post_status == 'publish') $ attachments = get_posts (array ('post_type' => 'pièce jointe', 'posts_per_page' => -1, 'post_parent' => $ post-> ID, 'exclude' => get_post_thumbnail_id ())); if ($ pièces jointes) foreach ($ pièces jointes en tant que $ pièce jointe) $ class = "mime post-pièce jointe-". sanitize_title ($ attachment-> post_mime_type); $ thumbimg = wp_get_attachment_link ($ attachment-> ID, 'thumbnail-size', true); écho '
Le code ci-dessus vérifie d'abord si le type de publication est data-design et si le statut de la publication est publié. Vous n’avez peut-être pas besoin de la première condition en fonction de ce que vous essayez de faire. Ensuite, nous exécutons simplement la requête get_posts. Tout y est assez explicite. La clé que nous devons souligner est la fonctionnalité d’exclusion. Cette ligne veille à ce que l'image sélectionnée n'apparaisse pas. Si vous enlevez cette ligne, l'image sélectionnée apparaîtra. Après avoir spécifié tous les paramètres, nous spécifions simplement ce qu'il faut faire lorsque chaque pièce jointe est extraite. Nous tirons le type d'attachement pour la variable de classe. Ensuite, la variable $ thumbimg utilise simplement wp_get_attachment_link pour extraire l’image à une taille de vignette spécifique. Elle crée également un lien hypertexte entre l’image et les pages de pièce jointe. Dans la dernière étape, nous en faisons simplement écho.
Nous avons exécuté ce code dans une boucle avec un appel séparé pour l’image sélectionnée, qui renvoie à la publication individuelle. Le résultat final ressemblait à ceci:
Chaque image sélectionnée a servi d'album à l'image d'identification que vous pouvez voir. Les taches grises ont été remplies avec les pièces jointes pour le poste. Nous espérons que cela aiderait ceux qui cherchent à pousser WordPress au-delà d’une plate-forme de blogs..