在没有样式表的情况下使用wp_add_inline_style

时间:2014-11-19 作者:terzag

我需要将自定义内联样式添加到我正在创建的自定义主题的标题中。我遇到了wp_add_inline_style() 函数,它可以工作,但并不真正适合我,因为它取决于特定的样式表。我需要在head标记的末尾添加内联样式,而不需要样式表依赖项。

我试图设置主题样式表或不存在的样式表。在这两种情况下,它都可以工作,但在我看来,这是一个肮脏的黑客行为(要么加载两次主题样式表,要么引用一个重影文件…)。有没有合适的方法可以在head中添加内联样式而不依赖样式表?

当然,我可以直接在标题中添加它们。php文件,但我想避免这种情况。

3 个回复
最合适的回答,由SO网友:SkyShab 整理而成

你只需要将样式直接添加到页面标题。最好的方法是使用“wp\\u head”动作挂钩,假设您使用的主题有挂钩。像这样:

add_action(\'wp_head\', \'my_custom_styles\', 100);

function my_custom_styles()
{
 echo "<style>*{color: red}</style>";
}
查看WP codex 了解有关动作挂钩的更多信息。

SO网友:Flix

您可以简单地使用“虚拟”句柄:

wp_register_style( \'dummy-handle\', false );
wp_enqueue_style( \'dummy-handle\' );

wp_add_inline_style( \'dummy-handle\', \'* { color: red; }\' );

SO网友:Casper

您的主题肯定有一个默认样式表(否则它甚至不会作为主题加载)。只需使用这个样式表作为内联CSS的处理程序。可以在中找到一个示例functions.php 主题“Twenty15”(为简洁起见跳过代码):

function twentyfifteen_scripts() {
    wp_enqueue_style( \'twentyfifteen-style\', get_stylesheet_uri() );

}
function twentyfifteen_post_nav_background() {
    wp_add_inline_style( \'twentyfifteen-style\', $css );
}

结束

相关推荐