web-dev-qa-db-ja.com

一括変更のショートカットはありますか BMP サイト内のJPG画像への画像?

私が理解しているように、WordPress投稿の画像は手動でアップロードされます。デフォルトではuploadsフォルダにアップロードされています。私のクライアントは、自分のサイトの1つで、すべての画像をBMP形式でアップロードしたと報告しました。今彼は彼の過ちの結果に気づいた。彼は今それらをJPGにしたいです。そしてそこに40-60の画像があります。

フォトエディタを使えば、uploadsフォルダ内の画像をBMPからJPGに変更できます。しかし問題はデータベースです。 _postmetaテーブルでは、イメージはmeta_key_wp_attached_filemeta_value2011/01/canola2.jpgのように格納されていることを見ました。また、同じイメージがguidpost_typeattachmentのような詳細パスを持つ_postsテーブルにもあります。 post_mime_typeimage/jpeg。そのため、BMP画像についても同様のことが起こる可能性があります。

それで、uploadsフォルダの画像ファイルフォーマットの変更と一緒にデータベースのフォーマットの小さな変更でそれらを利用可能にするためにどうやってdbを一括編集することができますか?任意のSQLクエリ?

または、大きな変更を1つずつ手動で行う必要がありますか?

2
Mayeenul Islam

適切なファイル名を持つファイルを適切な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');
1
Rachel Baker

これを実現できるプラグインがあります。 https://wordpress.org/plugins/better-search-replace/

wp_postswp_posts_metaを選択し、GUIDボックスをチェックし、image/bmpimage/jpegに、.bmp.jpgに置き換えるだけです。

私は約20秒で5000枚の画像を変えました。

0
j8d