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()
を活用し、柔軟なカスタマイズを行いましょう!