私が理解しているように、WordPress投稿の画像は手動でアップロードされます。デフォルトではuploads
フォルダにアップロードされています。私のクライアントは、自分のサイトの1つで、すべての画像をBMP形式でアップロードしたと報告しました。今彼は彼の過ちの結果に気づいた。彼は今それらをJPGにしたいです。そしてそこに40-60の画像があります。
フォトエディタを使えば、uploadsフォルダ内の画像をBMPからJPGに変更できます。しかし問題はデータベースです。 _postmeta
テーブルでは、イメージはmeta_key_wp_attached_file
とmeta_valueで2011/01/canola2.jpg
のように格納されていることを見ました。また、同じイメージがguid、post_typeattachment
、のような詳細パスを持つ_posts
テーブルにもあります。 post_mime_typeimage/jpeg
。そのため、BMP画像についても同様のことが起こる可能性があります。
それで、uploads
フォルダの画像ファイルフォーマットの変更と一緒にデータベースのフォーマットの小さな変更でそれらを利用可能にするためにどうやってdbを一括編集することができますか?任意のSQLクエリ?
または、大きな変更を1つずつ手動で行う必要がありますか?
適切なファイル名を持つファイルを適切なwp-content/uploads/
フォルダーに追加すると仮定すると、いくつかのSQL照会を実行して、.jpg
ファイルを使用するようにWordPressデータベースを更新することができます。
あなたのwpdb
接頭辞がwp
であると仮定すると、これらのクエリは次のようになります。
UPDATE wp_posts SET post_mime_type = replace(post_mime_type, 'image/bmp','image/jpeg');
UPDATE wp_posts SET guid = replace(guid, '.bmp','.jpg');
UPDATE wp_postmeta SET meta_value = replace(meta_value, '.bmp','.jpg');
これを実現できるプラグインがあります。 https://wordpress.org/plugins/better-search-replace/
wp_posts
とwp_posts_meta
を選択し、GUIDボックスをチェックし、image/bmp
をimage/jpeg
に、.bmp
を.jpg
に置き換えるだけです。
私は約20秒で5000枚の画像を変えました。