web-dev-qa-db-fra.com

Image toujours liée en tant que pièce jointe à la page même si elle a été supprimée

Je travaille sur une fonction de galerie d'images dans laquelle je récupère des images attachées à des pages et les affiche à différents endroits via la fonction get_posts(). Cependant, je constate que lorsque je supprime des images de la page où elles ont été placées, elles semblent toujours être définies en tant que pièces jointes. Je me demande simplement si quelque chose que je comprends mal au sujet des pièces jointes ou s'il s'agit d'un comportement buggy?

Cela vaut peut-être la peine d’ajouter que j’obtiens des images sous forme de pièces jointes, car je dois pouvoir classer les images par catégorie et les afficher par catégories à différents endroits du site. Si je pouvais catégoriser directement les images, je réalisais que je n'aurais pas à m'inquiéter de ce problème que je rencontrais!

2
Rick Curran

Supprimer une image d'un article ou d'une page est un processus déroutant. Lorsque vous téléchargez une image dans un article/une page, elle est ajoutée à la galerie de cet article/cette page. Vous pouvez ensuite insérer l'image dans le contenu de l'article/de la page et modifier le contenu comme bon vous semble. Lorsque vous cliquez sur l'image dans l'éditeur wysiwyg, vous voyez deux icônes - une pour modifier les paramètres de l'image et une pour la supprimer de l'éditeur - , cette seconde icône ne ne supprime pas l'image même si elle ressemble à une icône typique "supprimer".

Lorsque vous appuyez sur ce bouton "Supprimer", il supprime l'image de l'éditeur visuel mais la conserve dans la galerie des publications/pages .

Pour réellement supprimer/supprimer l’image, vous devez procéder comme suit:

  • Cliquez sur le bouton "Ajouter une image" pour afficher l'écran de l'image.
  • Cliquez sur l'onglet "Galerie" pour voir quelles images sont actuellement jointes au message.
  • Cliquez sur le lien "Afficher" pour l'image que vous souhaitez supprimer.
  • Cliquez sur "Supprimer" vers le bas de l'écran de détail de l'image

Vous serez invité à confirmer la suppression, puis l'image sera détachée du message/de la page et entièrement supprimée de WordPress.

1
EAMann

Je n'ai jamais joué à cela, mais vous pouvez attacher des taxonomies à des pièces jointes (intégrées ou personnalisées) comme ceci:

register_taxonomy_for_object_type( 'category', 'attachment' );

Accrochez-le sur 'init' pour pouvoir classer les pièces jointes par catégorie.

Je ne sais pas comment vous "supprimez" l'image, mais si vous la supprimez de WordPress, elle ne devrait plus être définie comme pièce jointe pour cette page. L'autre façon de supprimer l'image en tant que pièce jointe consiste à accéder à la base de données et à supprimer l'ID de page de la colonne 'post_parent' de la pièce jointe.

Vous pouvez également regarder dans le plugin File Gallery . Il en fait beaucoup plus que ce qui pourrait vous intéresser, mais vous permet de détacher des images de messages.

1
John P Bloch

Juste une supposition vague, mais pourriez-vous obtenir des pièces jointes à partir de toutes les révisions/statuts de pages? Si vous limitez l'appel get_posts() à uniquement les articles/pages publiés, vous risquez de voir l'image en question disparaître.

0
Bobby Jack