it-swarm.cn

从模板的图像文件夹中包含图像的最佳方法是什么?

从模板的图像文件夹中包含图像的最佳方法是什么?是使用get_bloginfo('template_url')吗?我知道更好地硬编码images文件夹的路径,因为这样你在PHP中保存函数调用。

有什么想法吗?

5
Amit

最简单,最简单的方法是在主题的functions.php文件中定义一个唯一的变量。

如:

<?php
$theme_name_images = get_bloginfo('stylesheet_directory') . '/images/';
?>

不需要课程作为先前的答案建议。

编辑:它应该是get_bloginfo,而不是bloginfo(),正如Viper007Bond友好指出的那样。

6
john010117

我知道更好地硬编码images文件夹的路径,因为这样你在PHP中保存函数调用。

我绝对不会担心函数调用,WordPress的对象缓存会处理缓存所有这些东西。如果需要,您可以将路径定义为常量,但我通常不会打扰。

我会这样做:

<img src="<?php bloginfo('stylesheet_directory')"?>/images/image.png" />

我编辑了这个

<img src="<?php bloginfo('stylesheet_directory');?>/images/image.png" />(以上给出了错误)

7
Joe Hoyle

@Amit:这取决于。 PHP中的大多数函数调用都非常快,所以如果你在寻找性能,我不会太担心它。但是我知道你看到所有这些电话的感受。不过,我永远不想硬编码路径。

如果你要在主题中多次使用get_bloginfo('template_url'),为什么不将它分配给functions.php文件中的全局变量,然后在你通常引用函数调用的任何地方引用它?确保将其命名为不太可能发生冲突的内容,例如amits_template_url。所以在functions.php中这样做:

global $amits_template_url;
$amits_template_url = get_bloginfo('template_url');

然后在你的主题参考中,你会引用get_bloginfo('template_url')

2
MikeSchinkel

只需链接CSS文件中的图像文件,即可以使用CSS文件到图像的相对路径。这是一个仅限CSS的解决方案。不需要PHP代码。工作由浏览器完成。

0
hakre

嗯,这取决于你正在做什么样的发展。如果你正在进行插件开发,你需要使用这些函数,因为你永远不会知道url结构是什么。如果您正在特定网站上进行特定的工作,那么在技术上可以对其进行硬编码,但这仍然是不可取的,因为它排除了网址结构可能发生变化的可能性。

每当我开发插件或主题时,我都会在一个类中构建程序;这样,我可以将重复值保存为对象的属性(例如,WP URL和template_url)。这样我就可以快速使用它们而无需反复调用函数。

0
John P Bloch