テンプレートの画像フォルダーから画像を含める最良の方法は何ですか?
質問
テンプレートの画像フォルダーから画像を含める最良の方法は何ですか?使用することです get_bloginfo('template_url')
?この方法で、PHPで関数呼び出しを保存するため、画像フォルダーへのパスをハードコーディングする方が良いことを理解しました。
何かご意見は?
解決
それを行う最も簡単で最も簡単な方法は、テーマの一意の変数を定義することです functions.php
ファイル。
そのような:
<?php
$theme_name_images = get_bloginfo('stylesheet_directory') . '/images/';
?>
以前の答えが提案したようにクラスの必要はありません。
編集:viper007bondが親切に指摘したように、bloginfo()の代わりにget_bloginfoである必要があります。
他のヒント
この方法で、PHPで関数呼び出しを保存するため、画像フォルダーへのパスをハードコーディングする方が良いことを理解しました。
私は間違いなく関数呼び出しについて心配することはありません。WordPressのオブジェクトキャッシュはあなたのためにすべてのものをキャッシュするでしょう。必要に応じてパスを定数として定義することもできますが、私は一般的に気にしません。
私はただするだけです:
<img src="<?php bloginfo('stylesheet_directory')"?>/images/image.png" />
これを編集しました
<img src="<?php bloginfo('stylesheet_directory');?>/images/image.png" />
(上記はエラーを与えます)
@amit:それは依存します。ほとんどの関数呼び出しはPHPで非常に高速なので、パフォーマンスを探しているなら、あまり心配することはありません。しかし、私はあなたがそれらすべての呼び出しを見ていると感じていることを知っています。それでも、私はパスをハードコードしたくありません。
使用する場合 get_bloginfo('template_url')
あなたのテーマで何度もそれをあなたのグローバル変数に割り当ててみませんか functions.php
ファイルしてから、通常はfunction Callを参照するすべての場所を参照してください。紛争の可能性が低いものに名前を付けるようにしてください amits_template_url
. 。それでこれを行います functions.php
:
global $amits_template_url;
$amits_template_url = get_bloginfo('template_url');
そして、あなたのテーマであなたが参照するすべての場所でそれを参照してください get_bloginfo('template_url')
.
まあ、それはあなたがどのような開発をしているかによって異なります。プラグインの開発を行っている場合は、URL構造が何であるかを確実に知ることができないため、機能を使用する必要があります。特定のWebサイトで特定の作業を行っている場合、ハードコーディングは技術的には問題ありませんが、URL構造が変更される可能性を排除するため、それはまだ驚くことです。
プラグインまたはテーマを開発するたびに、クラス内のプログラムを構成します。そうすれば、オブジェクトのプロパティ(WP URLおよびTemplate_URLなど)として繰り返し値を保存できます。そうすれば、関数を繰り返し呼び出すことなく、それらをすばやく使用できます。
CSSファイルから画像ファイルをリンクするだけです。つまり、CSSファイルから画像に相対パスを使用できます。これはCSSのみのソリューションです。 PHPコードは必要ありません。作業はブラウザによって行われます。