web-dev-qa-db-ja.com

プログラムでローカルURLから画像の添付ファイルを作成し、注目の画像を設定する

私は現在、MovableTypeブログをWordPressにインポートしようとしています。ブログには数千の投稿があり、各投稿にはそれに関連付けられた画像があります。

エクスポートファイルには、各イメージへの参照が次のように(そして予想どおりに)含まれています。

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

すべての画像を取得し、エクスポートファイル内のすべてのリンクを新しい(ローカル)場所を使用するように書き換えました。しかし、WordPressのインポート処理では、実際には投稿の添付ファイルは作成されません。これは必要です。

それで - これをする最善の方法は - 今私は投稿のセットを反復処理し、任意の画像のURLを解析し、新しい投稿を作成することを考えています。

  • post_parent =実際の投稿
  • post_type =添付ファイル

質問

  • post_guidは画像の場所の参照ですか?それとも、他の場所に保存されている画像へのパスですか。

  • 特集画像セットはどこにありますか?

  • これはこれを行うための最良の方法ですか?

[私はcache-imageプラグインを使ってみましたが、投稿数/画像数が多すぎます]

3
anu

答え:

Post_guidは画像位置の参照ですか?それとも、他の場所に保存されている画像へのパスですか。

$ post-> guidはあなたの添付ファイルのURLを保持する投稿内のレコードです。

特集画像セットはどこにありますか?

注目の画像は投稿メタとして保存されているので、添付ファイルのIDを取得したらupdate_post_meta()を使用します。

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

これはこれを行うための最良の方法ですか?

何千もの投稿のための多くの作業とあなたが選ぶ方法はあなたにいくらかの「痛み」を引き起こすでしょうが、これはこれを達成するための合理的な方法のように思えます。

3
Bainternet