web-dev-qa-db-fra.com

Création par programme de pièces jointes à partir d'URL et définition de l'image sélectionnée

Je travaille actuellement sur l'importation d'un blog MovableType dans WordPress. Le blog contient plusieurs milliers de messages, et chaque article est associé à une image.

Le fichier d'exportation contient les références à chaque image comme suit (et comme prévu):

<img src="http://domain/path/to/image"> 

J'ai toutes les images et j'ai réécrit tous les liens du fichier d'exportation pour utiliser le nouvel emplacement (local). Cependant, le processus d'importation WordPress ne crée pas réellement de pièces jointes pour la publication, ce dont j'ai besoin.

Alors, quelle est la meilleure façon de le faire? Pour le moment, je songe à parcourir l'ensemble des articles, à analyser les URL de toutes les images et à en créer de nouveaux:

  • post_parent = le post actuel
  • post_type = pièce jointe

Des questions

  • post_guid est-il la référence d'emplacement de l'image? Ou le chemin d'accès à l'image est-il stocké ailleurs?

  • Où sont les images en vedette?

  • Est-ce la meilleure façon de faire cela?

[J'ai essayé d'utiliser le plugin cache-image, mais cela dépend du nombre de posts/images]

3
anu

Réponses:

Post_guid est-il la référence d'emplacement de l'image? Ou le chemin d'accès à l'image est-il stocké ailleurs?

$ post-> guid est l'enregistrement dans un article qui contient l'URL de votre pièce jointe.

Où sont les images en vedette?

l’image sélectionnée est enregistrée en tant que méta de publication, utilisez donc update_post_meta() une fois que vous avez l’identifiant de la pièce jointe:

update_post_meta( $post->ID, '_thumbnail_id', $attachment_id );

Est-ce la meilleure façon de faire cela?

Cela représente beaucoup de travail pour plusieurs milliers de messages et la manière que vous choisissez vous causera de la "douleur", mais cela semble être un moyen raisonnable de le réaliser.

3
Bainternet