web-dev-qa-db-ja.com

に画像を埋め込むためのまだ関連性のある方法 WP 2018年のテーマ

<img src="<?php echo get_bloginfo('template_url') ?>/images/logo.png"/>

上記はまだWordpressのテーマに画像を埋め込むための適切な方法なのか、それとも時代遅れなのか

時代遅れの場合は何が正しい方法でしょうか?

今日私が正しくやっていないと誰かが私に質問しましたか?

1
The WP Novice

今日私が正しくやっていないと誰かが私に質問しましたか?

<?php echo get_bloginfo('template_url') ?>/images/logo.png

これが「正しくない」と考えられる2つの理由があります。

  • get_bloginfoは複数のことを行う非常に古い関数です。この特定の関数はget_template_directory_uriget_stylesheet_directory_uriに置き換えられました
  • セキュリティ!あなたは何も逃げませんでした!全体をesc_urlでラップする必要があります
1
Tom J Nowell

画像に使用している特定の名前に基づいて古くなっていると考えられる主な理由は、4.5 IIRC以降、ユーザーが通常ロゴとして使用される「サイト画像」をアップロードできるカスタマイザ設定があることです。

もっとHTMLでセマンティックなWebの観点からすると、ロゴ自体は無意味な画像であり(alt属性を追加することはほとんどないため)、このコードは装飾です。これはCSSファイルの中でCSSに属しているか、ユーザーにそれを制御させる場合はlink要素の背景画像として設定されます。

1
Mark Kaplun

上記の関数を使用する以外に、テーマの依存関係を取得するために特別に設計された関数があります。 get_theme_file_uri() を使用すると、テーマのフォルダに含まれている任意のファイルのURLを取得できます。

これが例です:

<img src="<?php echo esc_url ( get_theme_file_uri( 'images/logo.png' ) ); ?>"/>

自動的にlogo.pngを検索し、存在すればそのURIを返します。この関数は内部的にget_template_directory_uriを使用します。

1
Jack Johansson

私はまだこれを使っています:

<img src="<?php echo get_template_directory_uri(); ?>/images/logo.png" width="" height="" alt="" />

これはうまくいきます。

1
Plamen Georgiev