不使用wp_head(),如何通过代码添加WordPress全局与经典内联CSS到头部?
可行解决方案
由于你未调用wp_head(),WordPress默认的样式输出机制无法正常触发,因此需要直接获取样式内容并手动输出到页面头部。以下是针对全局样式与经典编辑器内联样式的实现代码:
1. 输出全局样式(Global Styles)
WordPress的全局样式内容可通过wp_get_global_stylesheet()直接获取,在页面头部的PHP代码中添加以下内容即可输出:
echo '<style type="text/css">' . wp_get_global_stylesheet() . '</style>';
2. 输出经典编辑器内联样式
若需加载经典编辑器的自定义内联样式,可通过wp_get_custom_css_post()获取存储的CSS内容,再手动输出:
// 获取经典编辑器的自定义CSS内容 $editor_custom_css = wp_get_custom_css_post(); $editor_css_content = $editor_custom_css ? $editor_custom_css->post_content : ''; // 输出样式 echo '<style type="text/css">' . $editor_css_content . '</style>';
之前代码无效的原因
- 代码1:
wp_register_style()与wp_enqueue_style()调用顺序颠倒(需先注册再入队),且这两个函数仅负责将样式加入输出队列,最终仍依赖wp_head()触发输出,无wp_head()则队列不会被处理。 - 代码2:
wp_enqueue_global_styles()内部通过wp_enqueue_scripts钩子注册样式,同样需要wp_head()来触发实际输出,直接在init钩子中调用无法生成CSS内容。
内容的提问来源于stack exchange,提问作者RickB
相关产品推荐
相关产品推荐

