如何为自定义背景添加默认图像?

时间:2012-07-13 作者:Offcourse

自定义标头功能允许(在我找到的一些代码中)建议在自定义标头中使用几个默认图像。

是否可以在自定义背景中构建相同的功能?

其想法是在主题中已有一些纹理可供用户选择。

有什么想法吗?

3 个回复
SO网友:Aamer Shahzad

如果您询问默认背景图像add_theme_support( \'custom-background\'); 然后可以使用\'default-image\' => get_template_directory_uri() . \'/images/pattern.png\',

完整的代码如下所示。

$args = array(
\'default-color\'  => \'f0f0f0\',
\'default-repeat\' => \'fixed\',
\'default-image\'  => get_template_directory_uri() . \'/assets/images/pattern.png\',
);
add_theme_support( \'custom-background\', $args );

SO网友:Krimo

我建议在标题中输出一行CSS。php文件,类似

<?=\'.body {background-image:url(/your/path/to/images/\'.$YOUR_CHOSEN_IMAGE.\'.png);}\'?>

SO网友:Bobby

我不太确定你在问什么,但我来说说。

假设您已经知道选项settings api, 下面是一个可以用来实现该想法的表单:

    <label for="bg1">
      <img src="http://lorempixel.com/50/50" />
      <input class="select_control" id="bg1" name="bg" type="radio" value="bg1" />
    </label>

    <label for="bg2">
        <img src="http://lorempixel.com/50/50" />
        <input class="select_control" id="test2" name="bg" type="radio" value="bg2" />
    </label>

    <label for="bg3">
        <img src="http://lorempixel.com/50/50" />
        <input class="select_control" id="bg3" name="bg" type="radio" value="bg3" />
    </label>

http://jsfiddle.net/58sWX/

使用设置API转换,然后使用get_option() 检索背景图像url以显示它。

如果要更改CSS,background: url(), 基于选项值。那你可能需要知道how to use CSS in PHP.

 <?php
 header("Content-type: text/css");

 <?php if (get_option(\'your_background_image\') != \'\') : ?>
 body {
      background: url( <?php echo get_option(\'your_background_image\'); ?>;
 }
 <?php endif; ?>

结束

相关推荐