这应该是它自己的样式表,以及如何? (PHP样式表?)

时间:2011-09-29 19:26:01

标签: php css wordpress header

构建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'); ?>来调用用户输入,我如何将它驻留在自己的样式表中?

3 个答案:

答案 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" />