WordPress のページの中の画像のパスを自動的にテーマディレクトリまでのパスに置き換える方法

WordPress のテーマで画像を使う場合は、WordPress のテーマファイル内に画像を詰め込み、実際に読み込む際はテーマファイルでは以下のように WordPress のタグを使って読み込むと思います。

1
<img src="<?php bloginfo('template_directory'); ?>/img/logo.png">

しかし WordPress のページ内ではタグを使うことができませんので、ページ内でテーマファイルの画像を読み込む場合は以下のように長い長いパスを書かなければいけません。

1
<img src="/wordpress/wp-content/themes/example/img/logo.png">

しかし以下のコードを functions.php にペタッと貼り付けることで /wordpress/wp-content/themes/example/ の部分、いわゆる <?php bloginfo(‘template_directory’); ?> の部分を自動的に出力させることが可能になります。

1
2
3
4
5
function replaceImagePath($arg) {
	$content = str_replace('"img/', '"' . get_bloginfo('template_directory') . '/img/', $arg);
	return $content;
}  
add_action('the_content', 'replaceImagePath');

仕組みとしては画像タグの “img/ という部分を “/wordpress/wp-content/themes/example/ に置き換える処理をしています。画像の保存ディレクトリ名が images だったり common だったりしたら適宜変えてみてください。

そしてこれを入れることで以下のようにシンプルなタグで済みます。

1
<img src="img/logo.png">

コメント

コメントは受け付けていません。