WordPressでのパス指定を絶対パスから相対パスに変更する方法
Post on:2010年10月27日
WordPressで使用するパス指定は絶対パスのものが多いですが、これをルートからの相対パスに変更する方法を紹介します。
How to make WordPress URLs root relative
[ad#ad-2]
このブログではパス指定では現状困っていませんが、ポータビリティ(サイトの移転)、ダウンロードサイズ、コードの簡潔さなどを求める際には相対パスの方が有利になります。
ルートからの相対パスにするには、下記のコードをテーマファイル内の「functions.php」に記述します。
※「functions.php」が無い場合は作成してください。
PHP
URLの文字列から「http(s)」と「ドメイン」を取り除きます。
function make_href_root_relative($input) { return preg_replace('!http(s)?://' . $_SERVER['SERVER_NAME'] . '/!', '/', $input); }
[ad#ad-2]
PHP
「the_permalink() 」に、この機能を加えることも可能です。
function root_relative_permalinks($input) { return make_href_root_relative($input); } add_filter( 'the_permalink', 'root_relative_permalinks' );
適用しテンプレートに「<? php the_permalink () ; ?>」を使用すると、下記のようになります。
- 適用前:
- http://www.example.com/page-or-post-url/
- 適用後:
- /page-or-post-url/
sponsors