如何将动态模板函数生成的css放入Head?

时间:2016-04-25 作者:Ryan

在WordPress主题中,我有一个自定义函数,可以根据页面上的因素生成一些HTML和CSS。之前,我只是将生成的CSS转储到embedded中<style> 标签。然而,由于这破坏了W3C验证,我想找到一种方法来保持在主题文件(page.php、single.php等)中调用函数的灵活性,但将生成的CSS输出到<HEAD> 标签

我明白了wp_add_inline_style() 可以将内联样式排队,但我不知道在我上述的情况下这是如何工作的。非常感谢您的帮助。

1 个回复
SO网友:Adam

如果在函数中使用wp\\u enqueue\\u style(),则可以从页面(single.php等)调用函数。。。传递一个带有页面名称的字符串,在函数中使用该字符串来决定要排队的样式。这将以正确的方式在头部加载脚本。

https://developer.wordpress.org/reference/functions/wp_enqueue_style/

例如:。

// In single.php
enqueue_my_script(\'single\');

//In functions.php
function enqueue_my_script($page = null){
    if($page === \'single\') {
         add_action( \'wp_enqueue_scripts\', \'single_styles\');
    }
 }

 function single_styles() {
      wp_enqueue_style( \'slider\', get_template_directory_uri() . \'/css/slider.css\', array(), null, null);
 }
我很确定像这样的事情应该按照你的意愿进行,尽管现在对我来说已经快凌晨2点了!