Hallo Wordpress Gurus,
Das Thema hatten wir schon mal, hier allerdings nun mit einem komplett anderen Lösungsansatz und einem daraus resultierendem völlig anderen Problem (Herausforderung).
Ziel ist es, ein zufälliges Bild aus einem Ordner dann anzuzeigen, wenn der Autor kein Bild in den Artikel eingebunden hat. Nur in den Übersichten (Startseite, Archive), nicht im Artikel selber.
Ich benutze das Hamasaki Theme, daß automatisch, wenn kein Bild vorhanden ist, ein statisches "no-image" .jpg anzeigt.
Mittels des folgenden Scripts, das im Loop anstelle des besagten "no-image.jpg" steht, sollte die Aufgabe eigentlich erledigt werden.
http://www.marcofolio.net/webdesign/php_…e_rotation.html
Das klappt prima in der Sidebar. Wenn es mehrfach untereinander steht, gibts mehrere verschiedene Bilder untereinander.
Leider wird es im Loop anscheinend nur einmal aufgerufen, da sowohl in den Archiven als auch auf der Startseite nur EIN zufälliges Bild mehrfach hintereinander, bei allen Artikeln ohne eigenes Bild, angezeigt wird.
Wie bekomme ich Wordpress dazu, dort ein Script mehrfach aufzurufen?
Oder liegt das Problem wo ganz anders?
Ach ja, in dem entsprechenden Ordner liegen ca. 500 Bilder, eine Lösung wie hier im Forum für den Header vorgeschlagen wird, entfällt leider.
Danke für die Hilfe im Voraus und Grüße
Werner Menne
-------------------------------------
Hier der Teil im Wordpress (als Beispiel die home.php), der für die Ausgabe des entsprechenden Bildes zuständig ist:
<!-- home.php -->
<?php get_header(); ?>
<div id="content-wrap">
<div id="content">
<div class="gap">
<?php if ( $paged < 2 ) { // Do stuff specific to first page ?>
<?php if (have_posts()) : ?>
<?php $my_query = new WP_Query('showposts=1');
while ($my_query->have_posts()) : $my_query->the_post();
$do_not_duplicate = $post->ID;?>
<div class="post lastlast clearfix" id="post-<?php the_ID(); ?>">
<?php
$id =$post->ID;
$the_content =$wpdb->get_var("SELECT post_content FROM $wpdb->posts WHERE ID = $id");
$pattern = '!<img.*?src="(.*?)"!';
preg_match_all($pattern, $the_content, $matches);
$image_src = $matches['1'][0];
?>
<!-- möglicherweise unnötig, aber schadet nicht -->
<?php $files = array(); $i = -1; // Initialize some variables - Rotate.php
?>
<!-- hier wird das Hintergrundbild eingebaut -->
<div class="tumbr" style="z-index:2;margin-left: 10px;float:right; width: 140px; height: 110px; background: url(<?php if($image_src != '') { echo $image_src; } else { ?><?php bloginfo('url'); ?>/wp-content/uploads/artikelpix_140/rotate.php<?php } ?>) 0 0 no-repeat; content: ".";"> </div>
<!-- ab hier der "normale" Wordpress Code -->
Alles anzeigen
Wie gesagt, das erste Bild neben den Artikeln in der Übersicht ist zufällig ausgesucht, die anderen Artikel darunter (die ohne eigenes Bild) zeigen leider dasselbe, dann leider nicht mehr zufällige Bild.