テーマのディレクトリを取得する

WordPressで現在使用しているテーマのディレクトリのなかにある画像などのファイルを使用する場合などには、ディレクトリのURLやパスが必要になります。
このような場合、URLを取得するには「get_stylesheet_directory_uri()」、パスを取得するには「get_stylesheet_directory()」を使用します。
また、子テーマを使用していて親テーマのディレクトリを取得したい場合には、「get_template_directory_uri()」または「get_template_directory()」を使用します。
テーマディレクトリのURLを取得
テーマディレクトリのURLを取得するには「get_stylesheet_directory_uri()」を使用します。
この関数は、テーマディレクトリにある画像を参照する場合などに使います。
たとえば、テーマディレクトリの中にimagesというディレクトリがあり、その中の「sample.png」という画像ファイルを出力したい場合は次のようなコードとなります。
//imagesディレクトリ内のsample.png(画像ファイル)を表示
<img src="<?php echo get_stylesheet_directory_uri(); ?>/images/sample.png" alt="">
なお、この関数はURLを取得するものなので、それを出力するにはechoで出力します。
テーマディレクトリのパスを取得
テーマディレクトリのパスを取得するには「get_stylesheet_directory()」を使用します。
この関数は、テーマのURLではなく、サーバー上のパスを取得することができます。 htmlとして出力するのではなく、PHPのプログラムで操作したい場合などに使用します。
使用例①
テーマディレクトリの中にpartsというディレクトリがあり、その中にある「vars.php」といファイルをインクルードしたい場合は次のようなコードとなります。
//sampleディレクトリ内のvars.phpをインクルード
<?php include( get_stylesheet_directory() . '/parts/vars.php' ); ?>
使用例②
テーマディレクトリの中にfileというディレクトリがあり、その中にある「sample.txt」といテキストファイルを開いて何らかの処理をしたい場合は次のようなコードとなります。
//fileディレクトリ内のsample.txtを開く
$path = get_stylesheet_directory() . '/file/sample.txt';
$fp = fopen($path, 'r');
//PHPプログラムによる処理を記述
fclose($fp);
親テーマのディレクトリのURLを取得する
使用しているテーマが子テーマの場合、親テーマのディレクトリのURLを取得するには「get_template_directory_uri()」を使用します。
たとえば、親テーマの中にimagesというディレクトリがあり、その中の「sample.png」という画像ファイルを出力したい場合は次のようなコードとなります。
//親テーマのimagesディレクトリ内にあるsample.png(画像ファイル)を表示
<img src="<?php echo get_template_directory_uri(); ?>/images/sample.png" alt="">
親テーマのディレクトリのパスを取得する
使用しているテーマが子テーマの場合、親テーマのディレクトリのパスを取得するには「get_template_directory()」を使用します。
たとえば、親テーマの中にpartsというディレクトリがあり、その中にある「vars.php」といファイルをインクルードしたい場合は次のようなコードとなります。
//親テーマのsampleディレクトリ内にあるvars.phpをインクルード
<?php include( get_template_directory() . '/parts/vars.php' ); ?>