WordPress の投稿管理画面で画像ファイルへのパスを指定する場合

WordPressの投稿作成の際に、ビジュアルエディタ内に画像パスを直接書き込むときのちょいネタです。

メディアアップロードして画像を挿入する場合には意識しないことですが、直接パスを指定したいときってあるじゃないですか。あるんです。
例えば、WebサイトをHTMLコーディングをしておいて、それをWordpressに移植などする場合などは、固定ページ内では結構あると思います。

そんなとき、いちいち以下のように書くのって、どうかと思うんです。

<img src="/wp-content/themes/[テーマ名]/img/image.gif" alt="hogehoge">

仮にWordpressインストールディレクトリとルートのindex.phpの位置関係が変わったらアウトです。
また、テーマを変更してもアウトです。
画像パスの記載が1箇所や2箇所ならいいんですけども、大量にあったら大変です。

そんなとき、プラグインでphpコードの埋め込みを可能にするという方法があります。(自分一人が管理するサイトではそうしていますが)
↓こんな感じ

//PHP埋め込みが可能ならこんな記述でいいですけど・・・
<img src="<?php bloginfo('template_url'); ?>/img/image.gif" alt="hogehoge">

この方法も、PHPに明るくない人が更新作業する場合などは不親切だし、変なコードを埋め込まれても困ってしまいます。
ということで、以下のページを参考にfunctions.phpにコードを追加することで、画像パス簡略化を実現します。

WordPress のページの中の画像のパスを自動的にテーマディレクトリまでのパスに置き換える仕事サボりコード | ウェブル

//以下のコードをfunctions.phpに追加します
function replaceImagePath($arg) {
	$content = str_replace('"img/', '"' . get_bloginfo('template_directory') . '/img/', $arg);
	return $content;
}  
add_action('the_content', 'replaceImagePath');

ただし、この場合、画像フォルダは「img」という名前でテーマディレクトリ直下に置いた場合に限ります。
あとは自分の環境に合わせて適宜変更を加えてください。

PHP, Wordpress |