Hi, Ich möchte gerne in der Sidebar ein Zufallsbild einfügen... normalerweise habe ich das mittels PHP gemacht; doch bei Wordpress geht das irgendwie nicht so einfach. :/
Hier der PHP code:
<?php
//Ordner
$ordner="styles-imgr";
//Bildtypen
$typen= array("PNG");;
//Bilder auslesen
$verzeichnis = opendir($ordner);
$bilder = array();
while($datei = readdir($verzeichnis)) {
//Dateiendung rausfiltern
$datei_endung = substr( strrchr($datei,".") ,1);
if(in_array($datei_endung, $typen)) {
$bilder[] = $datei;
}
}
//Verzeichnis schlie�en
closedir($verzeichnis);
//Zufaelliges Bild aus Array suchen
srand ((double) microtime() * 10000000);
$key = array_rand($bilder);
//Bild ausgeben:
echo ''.$ordner."/".$bilder[$key].'';
?>
Alles anzeigen
Der PHP Code hat bisher im 'normalen' HTML/PHP Betrieb super funktioniert, jetzt wird das zufällige Bild allerdings nicht geladen und ich erhalte die folende Fehlermeldung... :-s
warning: opendir(styles-imgr): failed to open dir: No such file or directory in /storage/content/48/1009748/sample.com/public_html/press/wp-content/themes/pressbook/header.php on line 49Warning: readdir() expects parameter 1 to be resource, bool given in /storage/content/48/1009748/sample.com/public_html/press/wp-content/themes/pressbook/header.php on line 51Warning: closedir() expects parameter 1 to be resource, bool given in /storage/content/48/1009748/sample.com/public_html/press/wp-content/themes/pressbook/header.php on line 60Warning: array_rand(): Array is empty in /storage/content/48/1009748/sample.com/public_html/press/wp-content/themes/pressbook/header.php on line 64styles-imgr/
Wisst ihr zufällig was an dem PHP Code innerhalb der Wordpress-Umgebung nicht stimmt?
Ist das überhaupt der richtige Weg oder sollte ich das besser wie im Link unten beschrieben über einen "Random Header" lösen?
ZitatAlles anzeigen
Ein einzelnes Custom Headerbild hochladen können:Öffne deine functions.php und füge hinzu:
PHPadd_theme_support( 'custom-header' ); $args = array( 'width' => 1200, 'height' => 351, 'default-image' => get_template_directory_uri() . '/images/header.jpg', 'uploads' => true, ); add_theme_support( 'custom-header', $args );Mit width und height kann man angeben, wie groß das Custom Header Bild sein soll. Damit wird nun einmal das ganze im Backend angezeigt unter Anpassen > Header-Bild. Damit dann aber das hochgeladene Bild auch tatsächlich im Theme und somit im Frontend erscheint, gehört nun noch der Teil in der header.php angepasst:
So sieht ein als einfaches Bild eingefügtes Header-Bild aus :
PHP<img src="<?php bloginfo('template_directory'); ?>/images/bild_header.png" alt=""> Und dieser Abschnitt soll nun ausgetauscht werden, auf so: <img src="<?php header_image(); ?>" height="<?php echo get_custom_header()->height; ?>" width="<?php echo get_custom_header()->width; ?>" alt="" />
Damit ist nun aus dem Header-Bild ein Custom Header-Bild geworden. Wo sich dann dieser Abschnitt im jeweiligen Theme befindet, ist vom Theme Design abhängig. Auf jeden Fall wird es wahrscheinlich von einem <div> Element umgeben sein.
Mehrere Custom Header-Bilder hochladen können:
Fügt man in der functions.php noch random, hinzu
'random-default'=> true,
dann wechseln mehrere hochgeladenen Header-Bilder bei Klick bzw. Seitenwechsel nach dem Zufallsprinzip.
https://mediendesign-quer.com/custom-header-…itern-so-gehts/
Vielen Dank im vorraus!
slwfx