php - 如何在不降低加载速度的情况下将 PHP 嵌入 CSS(在 Wp 中)

标签 php css wordpress

我正在开发一个 Wordpress 主题,我添加了一些选项,以便使用选项页面更改字体系列。我所做的是在 header.php 中添加此链接:

<link rel="stylesheet" type="text/css" media="screen" href="<?php echo get_stylesheet_directory_uri(); ?>/custom-style.php" />

此文件包含以下代码:

<?php
require_once( dirname(__FILE__) . '../../../../wp-config.php');
require_once( dirname(__FILE__) . '/functions.php');
header('Content-type: text/css');  
header('Expires: ' . gmdate( "D, d M Y H:i:s", time() + $expires_offset ) . ' GMT');
header("Cache-Control: public, max-age=$expires_offset");
?>
body{font-family:"<?php echo get_option('szt_fonts_body', 'Open Sans'); ?>"}
h1,h2,h3,h4,h5,h6,.hdunderline,#comments,.headlinepg,.headline,.headlinesitemap,.headline404,.headlinecontact{font-family:"<?php echo get_option('szt_fonts_heading', 'Oswald'); ?>"}
#logo .headertext a{font:<?php echo get_option('szt_fsize_logo', '2em'); ?> "<?php echo get_option('szt_fonts_logo', 'Michroma'); ?>"}
#logo .headertext{margin-top:<?php echo get_option('szt_margin_logo', '3px'); ?>}

问题是这种方法降低了加载速度。使用此代码,加载速度从 600 毫秒增加到 2.5-3 秒。我的问题是:为什么?代码不多,所以我不明白这样做的原因。

我想找到一个解决方案。我知道我可以在 header.php 中添加 CSS 代码作为替代方案,但我希望有一个单独的代码解决方案,一侧是 CSS,另一侧是 HTML。我该怎么办?


已解决:它似乎加载了 Wordpress 核心两次。所以我决定不使用这个文件。我在 header.php 文件中添加了动态 CSS。无论如何,我想知道将该代码放在 header.php 中还是作为函数放在 functions.php 中会更好(它是在所有页面中使用的代码)。

最佳答案

考虑使用 APC或类似的操作码缓存。这将有助于像 WP 这样的 CMS/框架,它必须在运行时加载其所有 PHP 包含(其他一些框架使用自动加载)。

在这个例子中(CSS 文件只有几个基于配置的方法)需要最少的处理,所以速度慢可能表明磁盘 IO 与每次加载整个 WP 代码(每个包含)有关。

关于php - 如何在不降低加载速度的情况下将 PHP 嵌入 CSS(在 Wp 中),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20131318/

相关文章:

php - Apache ErrorDocument 指令不重定向

javascript - js在重复 Action 中的意外行为

用于响应式 navbar-fixed-bottom 的 HTML margin-bottom

css - 下拉菜单 css3 菜单在 IE10 中不起作用

php - 如何在 WordPress 中显示所有可用的自定义帖子类别?

php - 访问 Woocommerce 3 中的运费元数据

php - 使用 Facebook PHP SDK 4 但没有存储 session

php - 正则表达式截断长词并附加省略号

php - 在 Woocommerce 中向取消订单的客户发送电子邮件

php - 如何检查哪些优惠券适用于 WooCommerce 中的哪些产品?