この実装、面倒なら代行します
サイト制作をやっていると、どこかの開発用ドメインで開発してから本番ドメインに移行する、なんてことがよくあります。
そのときにやっかいなのが、固定ページなどでイメージやファイルを[メディア追加]して挿入した時のURLです。
なぜかWordPressでは、挿入したイメージタグのURL表記が絶対パスになってしまうんですよね。
<img src="https://100webdesign.jp/wp-content/uploads/2017/10/XXX.png">
みたいに。
そのため、本番ドメインに移行するときにはすべてのイメージタグのURL表記を開発用ドメインから本番ドメインに置換しないといけません。
開発用ドメインでサイト実装が済んでいよいよ新サイト公開。本番用ドメインへの移行はどうするか?
もちろん上の記事に書いた手順でDB一括変換ツールを使って置換してしまえばいいわけですが、事これが
“クライアント側ですでに動いている本番WordPressがあって、その中に入れるテーマと記事DBだけを納品する”
なんて場合には、今すでに稼働中の本番DBをこちらが置換ツールを使って作った本番用DBにごっそり置き換えてもらうなんてことはできません。本番ドメインではすでにWordPressが動いているわけですからね。
そうなるとこの「イメージタグのURL表記が絶対パス」になっていることが足かせになってきます。
どうにかドメインだけ消せないか?
つまり
<img src="https://100webdesign.jp/wp-content/uploads/2017/10/XXX.png">
ではなくて、
<img src="/wp-content/uploads/2017/10/XXX.png">
こうなるようにするということです。
これならどのドメインにぶら下げても大丈夫。
方法はシンプルです。
これからテーマを作っていこうという前に、そのテーマのfunctions.phpに以下を記述します。
function del_domain_from_image_url( $url ) { if ( preg_match( '/^http(s)?:\/\/[^\/\s]+(.*)$/', $url, $match ) ) { $url = $match[2]; } return $url; } add_filter( 'wp_get_attachment_url', 'del_domain_from_image_url' ); //画像取得時にドメイン部分を削除 add_filter( 'attachment_link', 'del_domain_from_image_url' );
その後、固定ページでコンテンツを作ると、イメージタグからドメイン部分が抜けてタグが吐き出されるようになります。
WordPressカスタマイズ事例やウェブ制作ノウハウの新着情報、お役立ち情報を
リアルタイムにメルマガ配信!
100ウェブで手がけた制作・開発案件を一部、ご紹介。
クライアントからご相談いただいた内容とその実装におけるポイント、工期、予算について確認いただけます。
【テレワーク実施中 につきお電話転送中】
コール中1秒程度無音状態になりますがそのままお待ちください。
受付時間
平日 10:00~18:00
メールでのお問い合わせでも
1営業日以内にご連絡いたします。