Je souhaite télécharger l'image et toutes les vignettes générées sur un autre serveur (en tant que sauvegarde). J'ai seulement trouvé add_attachment , mais c'est déclenché juste après le téléchargement de l'image et la mise à jour de la table postmeta.
Je veux attendre que toutes les tailles de vignettes soient générées, puis prendre les fichiers et les télécharger sur l'autre serveur. Y a-t-il un crochet qui correspond à mes attentes?
Les miniatures dans WordPress can doivent être générées à l’aide de wp_generate_attachment_metadata () , cette fonction déclenche un filtre après avoir généré toutes les vignettes 'wp_generate_attachment_metadata' et le filtre fournit $ metadata et $ attachment_id aux fonctions raccordées.
Vous pouvez associer votre fonction personnalisée à ce filtre.
$ metadata: métadonnées de pièce jointe. Ce dont vous avez besoin est $ métadonnées ['tailles'] ['nom de taille'] , le
'nom-taille' est le nom de la taille de la vignette ajoutée par add_image_size () ou celle par défaut. par exemple.
$metadata[sizes] => Array
(
[thumbnail] => Array
(
[file] => example_image-150x150.jpg
[width] => 150
[height] => 150
[mime-type] => image/jpeg
)
[medium] => Array
(
[file] => example_image-4-300x194.jpg
[width] => 300
[height] => 194
[mime-type] => image/jpeg
)
[mysize] => Array
(
[file] => example_image-4-400x400.jpg
[width] => 400
[height] => 400
[mime-type] => image/jpeg
)
)
à partir de là, vous pouvez savoir quelles tailles existent pour certaines pièces jointes et ne télécharger que ces tailles/vignettes.
Pour obtenir ces vignettes, utilisez une fonction telle que wp_get_attachment_image_src ($ id, $ nom_dimensionnement) pour récupérer les URL de vignettes.
(Facultatif) : Installez le Forcer la régénération des vignettes plugin pour réexécuter wp_generate_attachment_metadata () pour les images déjà téléchargées.
Faites-moi savoir si cela fonctionne pour vous.