子テーマで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ディレクトリにアップした画像を取得できます。
コメント