localize inline css

时间:2013-01-26 作者:mikkelbreum

我提供了一个主题设置来为frontpage背景定义一组图像。在页面加载时,我想从这个池中随机选取一个图像。

我的方法是添加一行内联CSS,用给定的图像url设置html元素的样式,如下所示:

<style>
  html { 
    background: url(images/random_image_3.jpg) no-repeat center center fixed; 
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
  }
</style>
有没有更好的方法?我应该使用一个我还没有发现的localize\\u风格的函数,还是只使用右钩子来响应css?

什么是最好的钩子,只针对正面的站点?

1 个回复
SO网友:akTed

您可以使用wp_head hook 并注入您的<;样式>直接标记到<;头部>。注意:确保您正在启动wp_head() function 在模板中(您应该已经这样做了)。

add_action(\'wp_head\', \'random_background_image_wpse_83275\');
function random_background_image_wpse_83275() {
    $images = array(
        \'/path/to/image1.jpg\',
        \'/path/to/image2.jpg\',
        \'/path/to/image3.jpg\',
        \'/path/to/image4.jpg\',
    );

    $image = $images[rand(0, count($images)-1)];

    echo \'
        <style>
            html { 
                background: url("\' . $image . \'") no-repeat center center fixed; 
                -webkit-background-size: cover;
                -moz-background-size: cover;
                -o-background-size: cover;
                background-size: cover;
            }
        </style>\';        
} // END function random_background_image_wpse_83275
<小时>

编辑另一个选项是dynamically generate the stylesheet, 并随机选择$image 在该文件中。然后注入样式表<;链接…>通过wp_enqueue_scripts hook (是,wp\\U排队_scripts), 并排队等候wp_enqueue_style.

结束

相关推荐

尝试将短码/css/html放入IF条件语句

使用WooCommerce插件,我试图根据产品所属的类别,获得不同的模板/外观,以应用于各个产品页面。换句话说,我希望“a”类别中的产品具有一种外观,“Z”类别中的另一种产品具有另一种单独的外观。我意识到有类似的问题被问到,我自己也曾尝试过,但我无法让它们正常工作,所以我想尝试一些不同的方法:我需要放置以下代码:http://pastebin.com/q18EJYZQ在此IF语句中:http://pastebin.com/WkhkEemH或者类似的条件。因此,如果产品的类别为“z”,则会回显第一个past