<img src="<?php echo get_bloginfo('template_url') ?>/images/logo.png"/>
上記はまだWordpressのテーマに画像を埋め込むための適切な方法なのか、それとも時代遅れなのか
時代遅れの場合は何が正しい方法でしょうか?
今日私が正しくやっていないと誰かが私に質問しましたか?
今日私が正しくやっていないと誰かが私に質問しましたか?
<?php echo get_bloginfo('template_url') ?>/images/logo.png
これが「正しくない」と考えられる2つの理由があります。
get_bloginfo
は複数のことを行う非常に古い関数です。この特定の関数はget_template_directory_uri
とget_stylesheet_directory_uri
に置き換えられましたesc_url
でラップする必要があります画像に使用している特定の名前に基づいて古くなっていると考えられる主な理由は、4.5 IIRC以降、ユーザーが通常ロゴとして使用される「サイト画像」をアップロードできるカスタマイザ設定があることです。
もっとHTMLでセマンティックなWebの観点からすると、ロゴ自体は無意味な画像であり(alt属性を追加することはほとんどないため)、このコードは装飾です。これはCSSファイルの中でCSSに属しているか、ユーザーにそれを制御させる場合はlink要素の背景画像として設定されます。
上記の関数を使用する以外に、テーマの依存関係を取得するために特別に設計された関数があります。 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
を使用します。
私はまだこれを使っています:
<img src="<?php echo get_template_directory_uri(); ?>/images/logo.png" width="" height="" alt="" />
これはうまくいきます。