WordPress でテーマのファイルパスを取得する際によく使われる get_stylesheet_directory_uri() ですが、 「get_template_directory_uri() との違いは?」 「子テーマを使っている場合はどうなるの?」 と疑問に思う方も多いのではないでしょうか?

今回は get_stylesheet_directory_uri() の基本的な使い方から、実践的な活用方法まで詳しく解説します!

1. get_stylesheet_directory_uri() とは?

get_stylesheet_directory_uri() は、現在のテーマ(子テーマが有効な場合は子テーマ)のディレクトリ URL を取得する関数 です。

使用例

<?php echo get_stylesheet_directory_uri(); ?>

例えば、子テーマ my-child-theme を使用している場合、

https://example.com/wp-content/themes/my-child-theme

のような URL が返されます。

2. get_template_directory_uri() との違い

get_stylesheet_directory_uri() と似た関数に get_template_directory_uri() があります。
この2つの違いは 子テーマを使用しているかどうか です。

関数取得するディレクトリ
get_stylesheet_directory_uri()子テーマのディレクトリ
get_template_directory_uri()親テーマのディレクトリ

具体的な例

子テーマを使用している場合

<?php echo get_stylesheet_directory_uri(); ?>
// 出力: https://example.com/wp-content/themes/my-child-theme

<?php echo get_template_directory_uri(); ?>
// 出力: https://example.com/wp-content/themes/my-parent-theme

子テーマを使っていない場合

<?php echo get_stylesheet_directory_uri(); ?>
// 出力: https://example.com/wp-content/themes/my-theme

<?php echo get_template_directory_uri(); ?>
// 出力: https://example.com/wp-content/themes/my-theme

3.get_stylesheet_directory_uri() の実践的な活用方法

(1) CSS や JavaScript の読み込み

テーマの CSS や JavaScript を正しく読み込むには wp_enqueue_style() や wp_enqueue_script() と組み合わせて使います。

function my_theme_enqueue_styles() {
    wp_enqueue_style('custom-style', get_stylesheet_directory_uri() . '/css/style.css');
    wp_enqueue_script('custom-script', get_stylesheet_directory_uri() . '/js/script.js', array('jquery'), null, true);
}
add_action('wp_enqueue_scripts', 'my_theme_enqueue_styles');

子テーマを使用している場合は、子テーマのCSSやJSファイルを適用する ために get_stylesheet_directory_uri() を使います。

(2) 画像パスの取得

テーマ内の画像を表示する際にも活用できます。

<img src="<?php echo get_stylesheet_directory_uri(); ?>/images/logo.png" alt="サイトロゴ">

子テーマの images/logo.png が正しく表示されます。

(3) テンプレートファイルの読み込み

include や require を使用する場合も get_stylesheet_directory() を活用できます。

require_once get_stylesheet_directory() . '/includes/custom-functions.php';

こちらは ディレクトリのパス(URL ではなく物理パス)を取得する関数 です。

4. get_stylesheet_directory_uri() を使うべき場面

ケース使用する関数
子テーマのファイルを指定したいget_stylesheet_directory_uri()
親テーマのファイルを指定したいget_template_directory_uri()

特に 子テーマでカスタマイズする際は get_stylesheet_directory_uri() を優先的に使うことで、親テーマのアップデートの影響を受けにくくなります。

まとめ

  • get_stylesheet_directory_uri()子テーマのディレクトリ URL を取得 する関数。
  • get_template_directory_uri() との違いは 子テーマを考慮するかどうか
  • CSS や画像のパス指定、テンプレートの読み込み などで役立つ。
  • 子テーマを利用している場合は get_stylesheet_directory_uri() を推奨!

WordPress のテーマ開発で get_stylesheet_directory_uri() を活用し、柔軟なカスタマイズを行いましょう!