我正在制作一个wordpress主题,我希望有一个自定义标题背景。我以前使用wordpress提供的add_theme_support('custom-header);
函数,它的工作原理但不是我想要的方式。我想要一个背景图像而不是img。我做了一个名为header_background_callout()的函数,我添加了一个部分,设置和控制。该功能通过wordpress中的自定义部分工作并输出用户选择的背景URL。有没有办法可以在CSS中做这样的事情? :background-image: url(<?php echo wp_get_attachment_url(<?php get_theme_mod()); ?>);
提前致谢。
答案 0 :(得分:1)
试试这个。 echo“backgroud-img ='url('get_theme_mod()')'”;
答案 1 :(得分:1)
您可以使用 wp_add_inline_style 为主题添加内嵌样式:
<?php wp_add_inline_style( $handle, $data ); ?>
其中 $ data 是您要包含在主题中的CSS。这样你就可以将你的php变量加载为你网站的CSS。
答案 2 :(得分:0)
是的。是的 我把我的css文件变成了一个php文件,因为我可以像你说的那样做
background-image: url(<?php echo get_theme_mod(); ?>); // I suppose you need to echo the mod?
在HTML中,您可以使用它;
<Link rel="stylesheet" type="text/css" href="style.php">
编辑您可能需要通过以下方式将php文件的标题更改为css文件:
<?php header("content-type: text/css; charset: UTF-8"); ?>
答案 3 :(得分:0)
我发现这种方式很简单,效果最好:
在Index.php文件中添加:
<?php
function bg_img_alt() {
if(get_theme_mod('vibe_hero_background_setting') > 0) {
return wp_get_attachment_url(get_theme_mod('vibe_hero_background_setting'));
}else{
return get_template_directory_uri() . '/img/bg.jpeg';
}
}
?>
<style type="text/css">
background: linear-gradient(rgba(0,0,0,.3),rgba(0,0,0,.3)), url(<?php echo bg_img_alt(); ?>);
background-repeat: no-repeat;
background-position: center;
background-size: cover;
background-attachment: fixed;
</style>