Hallo Forum!
Ich beziehe mich auf meinen Blog, der in meinem Profil verlinkt ist. Wenn ihr mehrmals auf "home" klickt, ändern sich die Bilder im header nach dem Zufallsprinzip. Das ist schon einmal ganz schön und 50% der Miete!
Dies wird über folgende Funktion in PHP in der header.php gemacht:
<?php
function header_graphic() {
echo "/images/";
$num=rand(0,5);
echo "dream".$num.".jpg";
};
?>
Diese Grafiken haben eine Größe von 726px x 330px. Sie haben die Bezeichnung dream0.jpg bis dream5.jpg. Folglich wird die Positionierung in der style.css an zwei Punkten vorgenommen:
#header {
background-repeat: no-repeat;
color: #fff;
font-family: Arial, Helvetica, sans-serif;
font-size: 12px;
font-weight: bold;
height: 330px;
margin: 0px;
padding: 0px 0px 0px 15px;
text-align: left;
vertical-align: bottom;
}
#wrapper {
background-color: #fff;
border-left: 5px solid #fff;
border-right: 5px solid #fff;
margin: 0px auto 0px auto;
padding: 0px;
text-align: center;
width: 726px;
}
Alles anzeigen
Derzeit wird mein Hintergrundbild in den Blog wie folgt über die style.css eingebaut:
body {
background: url(images/background1.jpg) no-repeat center center fixed;
-webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
background-size: cover;
font-family: Helvetica, Arial, Verdana, Geneva, sans-serif;
font-size: 12px;
margin: 0px auto 0px auto;
pading: 0px;
text-align: center;
}
Alles anzeigen
Jetzt möchte ich verschiedene Grafiken für den kompletten Hintergrund verwenden, die sich ganz genauso zufällig ändern.
Folglich kann ich die oben gezeigte PHP Funktion an sich ja schon einmal verwenden, denn wie man sieht: Sie funktioniert so, wie sie soll. Ich könnte die selbe Funktion also wie folgt schreiben:
<?php
function header_graphic() {
echo "/images/";
$num=rand(0,5);
echo "background".$num.".jpg";
};
?>
Jetzt werden alle Grafiken verwendet, die die Bezeichnung background0.jpg bis background5.jpg aufweisen. Diese Funktion muss jetzt nur noch an passender Stelle in die header.php aufgenommen werden, ohne hierbei in die Quere mit der ersten PHP Funktion zu kommen. Und genau das ist mein Problem:
Egal, wo ich diese Funktion in meine header.php einbaue: Ich bekomme nur einen weißen Bildschirm mit folgender Fehlermeldung (lediglich die line variiert):
[B]Fatal error[/B]: Cannot redeclare header_graphic() (previously declared in /kunden/******_*****/********/wp-content/themes/falling_dreams_adjusted-de/header.php:5) in [B]/kunden/******_*****/********/wp-content/themes/falling_dreams_adjusted-de/header.php[/B] on line [B]19[/B]
An welcher Stelle muss ich den Code nun in der header.php wiederholen? Was muss ich in der style.css verändern?
Hier ist meine header.php:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<?php
function header_graphic() {
echo "/images/";
$num=rand(0,5);
echo "dream".$num.".jpg";
};
?>
<!-- The header image is aleatory change. You can show how many images you want (726 x 330 pixels), but you can must name them like this: dream0.jpg ; dream1.jpg, dream3.jpg�. and so on� and make the appropriate modification in the header_graphic function above. -->
<head profile="http://gmpg.org/xfn/11">
<meta http-equiv="Content-Type" content="<?php bloginfo('html_type'); ?>; charset=<?php bloginfo('charset'); ?>" />
<meta name="generator" content="WordPress <?php bloginfo('version'); ?>" />
<title>
<?php bloginfo('name'); ?>
<?php wp_title(); ?>
</title>
<meta name="generator" content="WordPress <?php bloginfo('version'); ?>" />
<style type="text/css" media="screen">
@import url( <?php bloginfo('stylesheet_url'); ?> );
</style>
<style type="text/css" media="screen">
#header { background: url("<?php bloginfo('stylesheet_directory'); header_graphic(); ?>") no-repeat bottom center; }
</style>
<link rel="alternate" type="application/rss+xml" title="RSS 2.0" href="<?php bloginfo('rss2_url'); ?>" />
<link rel="alternate" type="text/xml" title="RSS .92" href="<?php bloginfo('rss_url'); ?>" />
<link rel="alternate" type="application/atom+xml" title="Atom 0.3" href="<?php bloginfo('atom_url'); ?>" />
<link rel="pingback" href="<?php bloginfo('pingback_url'); ?>" />
<?php wp_get_archives('type=monthly&format=link'); ?>
<?php wp_head(); ?>
<!-- <script language="javascript" type="text/javascript" src="<?php bloginfo('stylesheet_directory'); ?>/nicetitle.js"></script> -->
<!-- Hier den Link zum Favicon einbauen -->
<link rel="shortcut icon" href="http://www.dunkelangst.org/dateien/favicon.ico" type="image/x-icon" />
</head>
<body>
<div id="wrapper">
<div id="header">
<div id="blogname">
<a href="<?php bloginfo('url'); ?>"><?php bloginfo('name'); ?></a>
<br/><a href="<?php bloginfo('url'); ?>"><?php bloginfo('description'); ?></a>
</div><!-- div#blogname -->
</div><!-- div#header -->
<div id="menu-background"></div>
<div id="content">
<ul id="menu">
<!-- Automatische Seiten -->
<li><?php
$defaults = array(
'theme_location' => '',
'menu' => '',
'container' => 'div',
'container_class' => '',
'container_id' => '',
'menu_class' => 'menu',
'menu_id' => '',
'echo' => true,
'fallback_cb' => 'wp_page_menu',
'before' => '',
'after' => '',
'link_before' => '',
'link_after' => '',
'items_wrap' => '<ul id="%1$s" class="%2$s">%3$s</ul>',
'depth' => -1,
'walker' => ''
);
wp_nav_menu( $defaults );
?></li>
</ul>
Alles anzeigen
Für weitere Ideen unf Hilfen bin ich echt Dankbar! :)