编辑下面的“忘记我的答案”。你可以简单地使用wp_register_style
和wp_enqueue_style
如中所述this answer.
您可以使用一个额外的查询变量来实现这一点。
将新变量添加到$query_vars
具有的数组query_vars
在上筛选template_redirect
行动,确保custom.php
-如果设置了查询变量,则包含css文件。
// functions.php
function wpse26013_add_query_vars(query_vars) {
$query_vars[] = \'style\';
return $query_vars;
}
add_filter(\'query_vars\', \'wpse26013_add_query_vars\');
function wpse26013_include_custom_css() {
$style = get_query_var(\'style\');
if($style == \'custom\') {
include_once(get_stylesheet_directory_uri() . \'/css/custom.php\');
return;
}
}
add_action(\'template_redirect\', \'wpse26013_include_custom_css\');
然后,您可以在头文件中添加一个简单的css include。
// header.php
<link rel="stylesheet" type="text/css" media="all" href="<?php bloginfo(\'stylesheet_url\') . \'/css/?style=custom\'; ?>" />
最后但并非最不重要的一点是,您必须定义自定义css文件。
// custom.php
<?php
header(\'Content-type: text/css\');
header("Cache-Control: must-revalidate");
header(\'Expires: \' . gmdate(\'D, d M Y H:i:s\', time() + 1209600) . \' GMT\');
$options = get_option(\'webeo\');
?>
#header #logo {
background: url(\'<?php echo get_stylesheet_directory_uri() . \'/images/\' . $options[\'header\'][\'site_logo\']; ?>\') no-repeat;
}
您还可以使用内置PHP函数从css文件中获取内容
file_get_contents()
并将css直接打印到源代码中。