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

子テーマでWordpressテーマをカスタマイズしているとき、テンプレートディレクトリのURIを取得するには2つの関数を使い分けます。

get_template_directory_uri()

テンプレートディレクトリのURIを取得するには get_template_directory_uri() を使いますが、子テーマを使用している場合は、親テーマのディレクトリURIが返ってきます。

たとえば、サムネイル(アイキャッチ)画像がない場合はテーマ内のデフォルト画像を表示させる場合。

$thumbnail_url = has_post_thumbnail() ? get_the_post_thumbnail_url() : get_template_directory_uri() .'/images/noimage.png';

上記では親テーマにあるデフォルト画像が表示されることになります。別の画像を用意して子テーマにアップしたらどうすれば良いのでしょうか…

get_stylesheet_directory_uri()

子テーマのディレクトリURIを取得するには get_stylesheet_directory_uri() を使用します。

$thumbnail_url = has_post_thumbnail() ? get_the_post_thumbnail_url() : get_stylesheet_directory_uri() .'/images/noimage.png';

これで子テーマのimagesディレクトリにアップした画像を取得できます。

コメント