我使用
<link href="<? echo THEME_CSS;?>/styles.php" media="screen" rel="stylesheet" type="text/css">
最近,我达到了需要使用TEMPLATEPATH和各种内置WordPress函数的地步。唉,我越来越
“警告:require\\u once(TEMPLATEPATH/framework/theme.php)[function.require once]:”以及类似的错误,表明此文件通常没有利用WordPress环境。
如果WordPress在这里工作正常,TEMPLATEPATH
应为实际模板路径。此外,其他功能,如get_bloginfo()
, 等找不到。
有没有什么方法可以显式初始化WordPress,让我从管理面板中提取选项?
SO网友:Drew Gourley
您可以考虑使用一些替代函数来返回要查找的路径,例如:
//this one may return as well as some unwatned theme-specific stuff
get_bloginfo(\'template_directory\');
//this returns the pure url
get_bloginfo(\'template_url\');
或
//basically the same as template_directory, may come over with extra info
get_bloginfo(\'stylesheet_directory\');
//returns the url followed by style.css
get_bloginfo(\'stylesheet_url\');
这些很可能会遇到同样的问题,如果这不起作用,请告诉我。您可能必须在文件的顶部添加一些include,而不管您最终使用的是什么,才能使其中任何一个正常工作。
SO网友:Pekka
PHP驱动的样式表的概念是次优的,因为PHP解释器和WordPress引导程序都很胖-必须为每个CSS请求启动。
如果可能,考虑使用相对路径-请注意,如果样式表和图像位于同一模板目录中,则
../images/image.gif
会有用的!样式表中的路径相对于实际样式表的位置,而不是页面的位置。
或者,虽然内联样式确实不好,但可以考虑使用静态样式表,并且只在文档头中指定动态属性。
<link rel="stylesheet" href="....." type="text/css">
<style type="text/css">
.class { background-image: url(<?php echo $xyz; ?>) }
</style>