如何使用主题选项中的变量预先生成css文件

时间:2011-10-21 作者:Andy James

我知道这里有很多关于用php变量呈现css文件的讨论。引导wp负载的“no-no”方式。例如php。

我已经在一个主题框架上工作了几个月了,它所做的一件事就是使用parse-request操作生成一个css文件。

add_action( \'parse_request\', \'parse_dynamic_css_request\' );
function parse_dynamic_css_request($wp) {
    if ($_GET[\'dynamic-css\'] && $_GET[\'dynamic-css\'] == \'css\') {
    require get_stylesheet_directory() . \'/library/css/dynamic.css.php\';
    exit;
    }
}
而这是可行的。我知道必须有更好的方法来做到这一点,因为我知道这是一个巨大的好处,它不一定是理想的。

我有一个想法,它将如何工作得很好,并在前端提供一个静态文件。

我的想法是,由于使用wordpress,您可以在主题函数中使用一些功能代码。在admin中运行的php文件。当主题选项从管理员处保存时,php必须有一种生成css文件的方法。

当保存主题选项时,css。php文件已处理,但结果保存到静态css文件中。然后,当用户在前端加载站点时,他们会收到保存选项时生成的静态文件。

从wordpress的角度来看,我有所有需要的逻辑,我的代码也会做得很好。我的问题是,我的php文件处理技能很差,因为我几乎从未使用过它。

那么,我该如何使用php呢。我想做的是用php将生成的php代码复制到一个静态css文件中。我想它会使用

file_get_contents();
有什么想法吗?

谢谢

1 个回复
SO网友:EarnestoDev

$ss_dir = get_stylesheet_directory(); // Shorten code, save 1 call
ob_start(); // Capture all output (output buffering)
require($ss_dir . \'/library/css/dynamic.css.php\'); // Generate CSS
$css = ob_get_clean(); // Get generated CSS (output buffering)
file_put_contents($ss_dir . \'/library/css/static.css\', $css, LOCK_EX); // Save it
您好。

PS: 你不能成为一个拥有scratchy文件技能的开发人员。它们不是可选的

结束

相关推荐

Adding goodies to themes

如何在主题更新时向Arjuna-X等主题添加内容而不丢失?儿童主题是一种很好的方式,还是有其他选择?如果新版本的主题对我添加的功能具有本机支持,该怎么办?