构建WordPress选项面板。它所做的一件事是允许用户选择自定义颜色。我使用默认样式表,然后调用自定义输入样式。但是,我只是将其插入到标题中,而不是让这些自定义值驻留在它们自己的样式表中(因为我需要通过PHP调用用户的选择)。
举个例子,我的标题中有代码如下:
<style type="text/css">
p a { <?php echo get_option('to_custom_css'); ?> }
</style>
在我的职能中:
array( "name" => "Custom CSS",
"desc" => "Want to add any custom CSS code? Put in here, and the rest is taken care of. This overrides any other stylesheets. eg: a.button{color:green}",
"id" => $shortname."_custom_css",
"type" => "text",
"std" => ""),
如果仍然使用<?php echo get_option('to_custom_css'); ?>
来调用用户输入,我如何将它驻留在自己的样式表中?
答案 0 :(得分:6)
您可以在PHP中创建样式表,但需要将Content-type标头设置为text / css。在您的HTML中:
<head>
<link rel="stylesheet" type="text/css" href="user-styles.php" />
<!-- ... -->
用户样式.php:
<?php
header('Content-type: text/css');
?>
/* now put your css here : */
p a {
<?php echo get_option('to_custom_css'); ?>
}
/* and so on... */
答案 1 :(得分:3)
首先,将其添加到您的.htaccess
文件中,以便它解释在css文件中找到的php:
AddType application/x-httpd-php .css
然后,链接到外部样式表。使链接动态地包含确定用户的css值(可能是id号)所需的信息,如下所示:
<link rel="stylesheet" href="http://www.yourserver.com/customstyle.css?id=<?php echo $userid; ?>" type="text/css" />
最后,将php代码放在动态打印出css的样式表中,如下所示:
<?php echo get_option('to_custom_css'); ?>
使用$_GET['parametername']
检索允许您计算css数据的参数。
答案 2 :(得分:0)
最终,您应该将CSS写入可以从托管页面中包含的文件。这样它就可以被浏览器缓存了。
<link rel="stylesheet" type="text/css" href="user1024/style.css" />