根据用户下拉菜单更改2011年主题标题图像

时间:2013-03-03 作者:Vixxd

我之前发布了一篇关于根据用户选择从下拉列表中更改网站CSS并将其存储在cookie中的帖子,我想我现在已经解决了这个问题,并在以下地址进行了工作http://somethingoriginal.net. 然而,我正在尝试改变标题图像和主题,事实证明这比我最初想象的要困难得多。我基本上想在我的标题中这样做。php文件:

if(day theme)
 use day css (DONE)
 setDayHeader()
if(night theme)
 use night css (DONE)
 setNightHeader()
我已尝试从函数中调用此函数。不幸的是,php什么都不做,我知道它正在被调用,因为我已经使用echo statemnets进行了检查:

    function setDayHeader(){
         //Set header to day header
         $args = array(
         \'width\'         => 1000,
         \'height\'        => 288,
         \'default-image\' => get_template_directory_uri() . \'/images/headers/SomethingOriginalSun.png\',
         );
        add_theme_support( \'custom-header\', $args );    


}

function setNightHeader(){
         $args = array(
         \'width\'         => 1000,
         \'height\'        => 288,
         \'default-image\' => get_template_directory_uri() . \'/images/headers/SomethingOriginalTheMoonAndStars.png\',
         );
         add_theme_support( \'custom-header\', $args );       
}
并尝试直接在标题的HTML中更改它。php文件,从这里开始:

<div id="page" class="hfeed">
    <header id="branding" role="banner">
通过更改以下行:

    <img src="<?php header_image(); ?>" width="<?php echo $header_image_width; ?>" height="<?php echo $header_image_height; ?>" alt="" />
通过替换header_image() 使用变量或直接用URL替换它,但这似乎会使我的标题图像完全消失。我认为最好对此单独发表一篇文章,因为它现在处理的功能与设置样式表不同。

谢谢

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

我必须从你的两个帖子中获取信息才能得到一些东西。

尝试替换

<img src="<?php header_image(); ?>" width="<?php echo $header_image_width; ?>" height="<?php echo $header_image_height; ?>" alt="" />
宽度

<?php
if (!(isset($_POST["styles"]))) { //if post not set (first visit)
    if ($_COOKIE["chosenStyle"] == "night") { 
        echo \'<img src="\'.get_template_directory_uri() . \'/images/headers/SomethingOriginalTheMoonAndStars.png" width="1000" height="288" alt="Night Header" />\';
    } else {
        echo \'<img src="\'.get_template_directory_uri() . \'/images/headers/SomethingOriginalSun.png" width="1000" height="288" alt="Day Header" />\';
    }
} else { //if post is set 
    if ($_POST["styles"] == "day") { 
        echo \'<img src="\'.get_template_directory_uri() . \'/images/headers/SomethingOriginalSun.png" width="1000" height="288" alt="Day Header" />\';
    } else {
        echo \'<img src="\'.get_template_directory_uri() . \'/images/headers/SomethingOriginalTheMoonAndStars.png" width="1000" height="288" alt="Night Header" />\';
    }   
}
?>
只需删除setNightHeader()和setDayHeader()函数

结束

相关推荐

wordpress css file

我用wordpress创建了一个网站,并将其上传到ftp文件公共html我的问题是,我制作了一个包含所有其他css文件的css文件,但当我测试网站时,我发现wordpress没有看到,它只看到了第一个,我应该怎么做才能让网站看到我的文件这是css文件中包含的内容我应该添加url(\'wordpress/webcontent/…\')还是有其他方法??风格css@import url(\'/styles/forms.css\'); @import url(\'/styles/tables.css\'