it-swarm.cn

使用动态生成CSS文件 PHP 脚本?

作为我为客户加速主题的努力的一部分,我通过动态PHP文件提供我的CSS。在被调用的例子my_theme_css.php的末尾:

这允许我将Expiry标头添加到我的CSS和JavaScript中,如下所示:

<?php
header("Expires: Thu, 31 Dec 2020 20:00:00 GMT");
header('Content-type: text/css');
?>

然后我想让用户添加自己的自定义CSS,所以我设置了以下内容:

<?php
header("Expires: Thu, 31 Dec 2020 20:00:00 GMT");
header('Content-type: text/css');
?>

p{color:blue;}

/** Custom CSS **/
<?php 
if(get_theme_mod('my_custom_css') != '') {
  $my_custom_css = get_theme_mod('my_custom_css'); 
  echo $my_custom_css; 
}
?> 

然后我添加了适用的主题选项。但我发现get_theme_mod()由于范围问题而无效(我想。)有关如何解决这个问题的任何建议吗?

我可以添加以下代码:

<?php 
if(get_theme_mod('my_custom_css') != '') {
  $my_custom_css = get_theme_mod('my_custom_css'); 
  echo $my_custom_css; 
}
?>

在标题中的<style></style>标记内,这样可以正常工作,期望我不希望CSS内联,我希望它在带有expiry标头的主CSS文件上。

7
Ashley G

尝试编码如下:

<?php $my_custom_css = get_theme_mod('my_custom_css');
  if(!empty($my_custom_css)) {
    echo $my_custom_css;
  }
?>

这应该可以解决get_theme_mod()函数的任何范围问题。

0
dgw