ワイヤード・パンチ

元・大阪人が、岡山の山奥でも生きていけることを証明するためのブログ。

他のブログからWordPressに移転した際に便利な、画像置き換えプラグインを作りました。

当ブログはかつてTumblrで運営していましたが、現在はWordpressに移転して運営しています。

インポートツールがあるので記事の移し替え自体は可能なのですが、その際に問題になるのが、記事内にある画像。

画像のURLが以前のブログのままであり、そのブログがなくなると画像も消失するおそれがあります。

かといって手動ですべてダウンロードして記事を書き換えていくのは多大な手間なため、一括で置き換えできるプラグインを作りました。

広告

処理の流れ。

開始の手順。

wordpressに当プラグインをインストールすると、管理画面のツールメニュー内に「外部URL画像置き換え」という新しいメニューが追加されています。

ページを開くと、置き換え対象となる画像が含まれている全記事一覧および、記事内の対象画像数が表示されます。

どのような記事が対象になるかというと、現在使っているブログのドメインとは異なるURLが指定されている画像が対象になります。

たとえば当ブログの場合だと、現在のドメインは「wiredpunch.com」なのに、記事内の画像のURLが以前の「mu60.net」のままになっているが対象。

HTMLタグで言うと、<img src=”http://mu60.net/xxxxx.jpg”>とか。

そして記事一覧から、置き換えを行いたい記事をチェックボックスで選び、必要な記事を選び終わったら、上部の「置き換えを実行」をクリックすることで始まります。

除外する画像の指定。

記事一覧の下には、改行区切りでドメインを入力する欄があります。

ここに入力されているドメインを含んでいる画像は置き換え対象にならず、すべての画像が置き換え対象外だった記事は、一覧に現れません。

一部だけ置き換え対象外だった場合は、該当画像数のカウントから外れています。

アフィリエイトのブログパーツに含まれている画像は置き換えたくない、というときなどにお使いください。

ただ、この入力ボックスに入力した内容はリアルタイムで反映されるわけではありません。

入力ボックスを編集後に、下にある保存ボタンをクリックすることで、入力内容が保存され、その内容をもって改めて記事を検索しなおします。

処理開始後の流れ。

初めの画面で実行ボタンを押したら、進捗を見ながらあとはしばらく待つだけです。

裏でどのようなことが行われているのか、いちおう説明。

まずは、記事内に記載されている画像を順番に、wordpressのuploadフォルダーにダウンロードします。

ダウンロードが終わると、メディアライブラリにその画像を登録し、サムネイルも作成され、記事との紐付けも行われます。

あとは記事内にある古い画像URLを、メディアライブラリに登録された画像のURLに置き換えて、記事を保存する。

という流れです。

これを、選択された全記事分、一件ずつ行われます。

どのように記事が変わるかというと、まず上の写真は処理前の本文です。

imgタグは古いドメインのままです。

そしてこちらが処理後の本文です。

ドメインが現在のブログのものに変わっています。

メディアライブラリにも登録されており、なおかつアップロード先のリンクも、元記事と紐付けされています。

プラグインのダウンロード方法。

wordpress管理画面のプラグインの新規追加から…。

と書きたいところですが、まだ公式への申請は行っていません。

現在、日本語しか対応しておらず、英語への対応およびreadme.txtの作成も必要になるそうです。

多言語への対応が済み次第、申請を行う予定です。

それまでの間は、当サイトからダウンロードできるようにしておきます。

公式のお墨付きをもらえていない野良プラグインなので、動作は保証できませんが、それでも試したい方は、バックアップをしっかり取ったのちにお使いください。

ダウンロードは下記リンクからどうぞ。

なお、wordpressの仕様上、zipファイルはアップロードできないため、代わりにowncloudへアップロードしています。

外部URL画像置き換え (Image URL save media)

名前もこれで良いのかどうか…。

追記。(2018/1/22)

プラグインの審査が完了し、正式にwordpress.orgでプラグインが公開されました。

External image replace

プラグインの名前も変えました。以前よりはましかな…。

ただ、一度だけ審査にひっかかった点があるので、何がいけなかったのかは、また別の記事にします。

プラグインについてのお問い合わせ。

不具合を発見した場合やご要望があれば、Githubあるいはマストドンにご連絡ください。