WordPressでテーマディレクトリまでのURL(パス)を取得する方法

WordPressで画像を読み込んだりファイルを読み込む際には、そのファイルまでのパスを指定する必要があります。

今回はWordPressでテーマディレクトリまでのパスを簡単に取得する方法を紹介します。

 

テーマディレクトリまでのパスを取得する

WordPressでテーマディレクトリまでのパスを取得するには、get_template_directory_uri()を使用します。

<?php echo get_template_directory_uri(); ?>

出力されるパスは以下のようになります。末尾にスラッシュはつきません。

http://example.com/wp-content/theme/original-theme

 

例えば、テーマディレクトリ内にimagesというフォルダにsample1.jpgという画像を置いたとします。その場合、sample1.jpgを読み込むためには以下のように記述します。

<img src="<?php echo get_template_directory_uri(); ?>/images/sample1.jpg">

 

テーマディレクトリまでのパスはget_template_directory_uri()で取得し、そこから先は手書きで記述します。

get_template_directory_uri()は文末に「/」を取得しないので、imagesの前に「/」を入れるのを忘れないようにしてください。

 

テーマディレクトリまでの絶対パスを取得する

サーバー上にあるファイルはURLではなく絶対パスが必要になります。

テーマディレクトリの絶対パスを取得するには、get_template_directory()を使用します。

<?php echo get_template_directory(); ?>

 

出力されるパスは以下の通りになります。WordPressに関するフォルダ一式はhtdocs配下のwordpressフォルダに入っているものとします。

C:\xampp\htdocs\wordpress/wp-content/themes/minimalist

 

親テーマのディレクトリパスを子テーマで取得する

子テーマで親テーマのディレクトリのパスを取得する場合もget_template_directory_uri()を使います。

絶対パスの場合はget_template_directory()を使います。

つまり、この2つの関数は子テーマで読み込んだとしても親テーマまでのパスを返します。

 

子テーマまでのディレクトリパスを取得する

get_template_directory_uri()は親テーマまでのパスを取得してしまうので、子テーマまでのパスは取得できません。

子テーマのディレクトリまでのパスを取得するにはget_stylesheet_directory_uri()を使用してください。

<?php echo get_stylesheet_directory_uri(); ?>

 

また、子テーマまでの絶対パスを取得する場合はget_stylesheet_directory()を使います。

<?php echo get_stylesheet_directory(); ?>

 

まとめ

以上がWordPressでテーマディレクトリまでのパスを取得する方法ですが、おそらく一番使うのはget_template_directory_uri()です。

それ以外はあまり使う機会がないかも…