Shortcode / Skript für Zufallsbild auf Startseite

  • Hallo,
    ich möchte auf der Startseite meiner Wordpress HP ein aus einer Auswahl von Bildern in einem Verzeichnis ein Zufallsbild ausgeben. Dies geht wohl nur, wenn ein php.- Skript verwendet wird. Solche habe ich auch gefunden, z.B. hier:
    [FONT=Times New Roman][size=12][COLOR=#000080]http://www.phpbuddy.eu/zufallsbild-auf-einer-webseite-ausgeben.html[/COLOR][/SIZE][/FONT]
    Nun bin ich kein Webspezialist und habe zunächst versucht, dieses Skript einfach auf der Startseite einzufügen - ohne Erfolg, der php. Interpreter liest dei Code offensichtlich nicht aus.
    Die Shortcode- Variante erscheint mir die eleganteste Methode:
    http://codex.wordpress.org/Shortcode_API
    Nur habe ich nicht das Grundwissen eines php.- Programmierers und auch nicht die Zeit, mich in die Thematik einzuarbeiten. Gibt es vielleicht schon ein ensprechendes Plugin ? Oder eine "idiotensichere" Anleitung ?

    Danke !

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • AW: Shortcode / Skript für Zufallsbild auf Startseite

    ... die Anleitung kenne ich auch ... aber diese beschreibt m.E. nur ein Zufallsbild im Header eines Themes. Ich möchte aber nur auf der Startseite meiner HP ein Zufallsbild anzeigen lassen. Ein Template- Eintrag reicht dafür leider nicht.:???:

    Einmal editiert, zuletzt von hshl (29. Oktober 2012 um 10:40)

  • Zitat

    nur auf der Startseite meiner HP ein Zufallsbild anzeigen lassen

    definiere genauer, was du unter 'auf der startseite' verstehst.
    verwendest du eine statische startseite?
    soll das bild im inhalt dieser seite auftauchen?

    kannst du einen link zu deiner webseite angeben, um klarzustellen, was du soweit hast und wo das bild hin soll?

  • Hallo alchymyth,
    hier der Link auf meine Seite: dort ist das eingebundene "feste" Bild zu sehen (Angler steht im Wasser). Dieses Bild möchte ich per Zufall durch andere ersetzen können (soll also als Inhalt dieser - und nur dieser - Seite auftauchen).
    Die Startseite ist statisch. Denkbar wäre in die function.php ein Skript einbinden, welches diese Aufgabe übernimmt ?! Ist das wirklich eine sooo große Herausforderung ?

    Danke bis hierhin...

  • ...nun habe ich folgdenden shortcode am Ende der function.php definiert:

    <?php
    function random_pic_func()
    {
    $pictures = glob( "http://www.passion-fliegenfischen.de/wp-content/upl…10/start%2A.jpg" );
    shuffle( $pictures );
    $picinfo = getimagesize( $pictures[0] );
    echo '<img src="' .$pictures[0]. '" ' .$picinfo[3]. ' alt="Startbild" />';
    }
    add_shortcode('random_pic', 'random_pic_func');
    ?>

    Nachdem ich den shortcode [random_pic] an der entsprechenden Stelle der Startseite eingesetzt habe, gibt
    Wordpress auf der Startseite folgende Fehlermeldung aus:
    Warning: getimagesize() [function.getimagesize]: Filename cannot be empty in /wp-content/themes/simplicity/functions.php

    bin ich auf dem "richtigen" Weg ?

  • ... mist, nun ist der "Supergau" eingetreten :x. Nachdem ich etwas mit der function.php experimentiert habe, hat sich meine Webseite überhaupt nicht mehr aufgebaut und nur noch eine Fehlermeldung der function.php gebracht.
    Über FTP habe ich dann die function.php wieder in den Originalzustand gebracht - nur leider gibt meine Webseite immer noch Warnungen der session_start() Funktion aus. Und als Admin / Benutzer kann ich mich nun auch nicht mehr anmelden...

    Also, ich habe mit dem Thema "Zufallsbild" abgeschlossen. Ich erbitte nur noch etwas Hilfe, um meine Webseite wieder Fehlerfrei zum Laufen zu bekommen. Da ja die Codes alle wieder stimmen, müsste ich doch nur "refreshen" oder sowas ähnliches...

    Vielen Dank im Voraus !

    P.S. Vielleicht fühlt sich jemand aufgerufen, für das Zufallsbild eine Plugin zu schreiben. Ich wäre ein treuer Anwender...

  • Das Skript auf das ich verwiesen habe kannst Du an beliebiger Stelle nutzen, nicht nur im header. Du kannst es ja auch umbenennen in:

    PHP
    <imgsrc="<?php bloginfo('template_directory'); ?>/images/irgendwas_<?php echo (rand(1,5)); ?>.png"alt="Alternativ-Text" />

    Das Geheimnis des Könnens liegt im Wollen!
    [size=12]Bitte keine Hilfegesuche per PN (auch keine "privaten" Links). Das ist ein öffentliches Forum.[/SIZE]

  • AW: Shortcode / Skript für Zufallsbild auf Startseite

    Danke. Vorerst bin ich damit beschäftigt meine Webseite wieder fehlerfrei zum Laufen zu bringen. Nach wie vor kann ich mich nicht anmelden...

  • Komme mit der Fehlerbehebung nicht weiter. Beim Versuch mich anzumelden kommen die folgenden Fehlermeldungen:

    Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /home/www/wp-content/themes/simplicity/functions.php:103) in/home/www/wp-content/plugins/count-per-day/counter-core.php on line 200

    Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/www/wp-content/themes/simplicity/functions.php:103) in/home/www/wp-content/plugins/count-per-day/counter-core.php on line 200

    Warning: Cannot modify header information - headers already sent by (output started at /home/www/wp-content/themes/simplicity/functions.php:103) in /home/www/wp-login.php on line 362

    Warning: Cannot modify header information - headers already sent by (output started at /home/www/wp-content/themes/simplicity/functions.php:103) in /home/www/wp-login.php on line 374

    Warning: Cannot modify header information - headers already sent by (output started at /home/www/wp-content/themes/simplicity/functions.php:103) in /home/www/wp-includes/pluggable.php on line 680

    Warning: Cannot modify header information - headers already sent by (output started at /home/www/wp-content/themes/simplicity/functions.php:103) in /home/www/wp-includes/pluggable.php on line 681

    Warning: Cannot modify header information - headers already sent by (output started at /home/www/wp-content/themes/simplicity/functions.php:103) in /home/www/wp-includes/pluggable.php on line 682

    Warning: Cannot modify header information - headers already sent by (output started at /home/www/wp-content/themes/simplicity/functions.php:103) in /home/www/wp-includes/pluggable.php on line 881

    und das Login- Fenster ist nicht mehr da. Wird jemand daraus schlau ? Wie gesagt kommt die Fehlermeldung, obwohl ich die originale function.php bereits über FTP wiederhergestellt habe. Wie kann ich dem Fehler beikommen ohne mich anmelden zu müssen ???

  • Du könntest erstmal alle Plugins deaktivieren, indem Du über FTP den Ordner Plugin umbenennst. Benenne den Ordner des Themes Simplicity auch mal um, damit bekommst Du das Standard Theme. Wenn dann wieder alles funktionieren sollte, kannst Du nach und nach wieder aktivieren und so schauen wodurch die Fehler ausgegeben werden.

    Das Geheimnis des Könnens liegt im Wollen!
    [size=12]Bitte keine Hilfegesuche per PN (auch keine "privaten" Links). Das ist ein öffentliches Forum.[/SIZE]

  • AW: Shortcode / Skript für Zufallsbild auf Startseite

    Hallo SirEctor,
    danke für Deine Unterstützung. Ich werde die Tage versuchen meine Webseite wie von Dir beschrieben wieder in Ordnung zu bringen.

    Wenn ich Dich richtig verstehe, könnte ich das Skript, welches Du unter Post #9 angegeben hast, in meine Startseite einbinden und erhalte dann das gewünschte Zufallsbild ?! Bei meinen Versuchen ein php Skript direkt einzubinden, wurde dieses nicht übersetzt sondern als Text auf der Seite ausgegeben. Da mir ein Versuch nicht meine Webseite zerschiessen wird (wie gerade geschehen), werde ich das Skript anschließend ausprobieren. Melde mich...
    Danke nochmals

    Einmal editiert, zuletzt von hshl (29. Oktober 2012 um 23:19)

  • Hallo SirEctor,
    nachdem einige Schweißperlen meiner Stirn entlag gelaufen sind, habe ich meine Webseite wieder zum Laufen gebracht. Und gebe nun meinem "Projekt", dass die (statischen) Startseite ein Zufallsbild ausgeben soll, einen letzte Chance. Von der Methode der shortcodes bin ich erstmal geheilt...

    In den von mir angelegten Ordner /wp-content/uploads/startimages habe ich 7 Bilder mit den Namen
    start1.jpg
    [...]
    start7.jpg
    kopiert und das Skript entsprechend angepasst:

    Zitat


    <imgsrc ="<?php bloginfo('template_directory'); ?>http://www.passion-fliegenfischen.de/wp-content/upl…artimages/start< ?php echo (rand(1,7)); ?>.jpg"alt="Fliegenfischen Startbild" />


    Ergebnis: es passiert nichts ! Was stimmt nicht ?

  • 'bloginfo('template_directory')' ist da total falsch; erstens weist das auf dein theme-verzeichnis; und zweitens gibst du schon den vollen pfad direkt an;

    und dann muss ein leerzeichen vor src; und kein leerzeichen vor ?php

    versuch:


    PHP
    <img src="http://www.passion-fliegenfischen.de/wp-content/uploads/startimages/start<?php echo (rand(1,7)); ?>.jpg"alt="Fliegenfischen Startbild" />

    oder alternativ mit der verwendung von 'bloginfo()':

    PHP
    <img src="<?php bloginfo('wpurl'); ?>/wp-content/uploads/startimages/start<?php echo (rand(1,7)); ?>.jpg"alt="Fliegenfischen Startbild" />

    http://codex.wordpress.org/Function_Reference/bloginfo

  • [HR][/HR]Hallo alchymyth,
    Deine 1. Variante erzeugt einen Kasten mit rotem Kreuz an der Stelle auf der Seite, wo das Bild eingefügt werden soll. Und der anschließende Text der Seite (unterhalt der Stelle, an welcher das Skript eingefügt wurde) wird nicht angezeigt Bei der 2. Variante passiert nichts.:???:

    Einmal editiert, zuletzt von hshl (30. Oktober 2012 um 15:18)

  • das script sollte im template eigentlich keine fehler erzeugen;

    wenn das skript jedoch direkt in den inhalt der seite eingegeben wird, entstehen die genannten fehler;

    um php-code im inhalt einer seite auszufuehren, muss vorher ein plugin installert und aktiviert werden; zB http://wordpress.org/extend/plugins…in+content&sort=


    oder doch alles wider mit shortcode machen:

    PHP
    function random_pic_func()
    {
    $base_url = get_bloginfo('wpurl').'/wp-content/uploads/startimages/start';
    return '<img src="' .$base_url. rand(1,7) . '.jpg" alt="Startbild" />';
    }
    add_shortcode('random_pic', 'random_pic_func');

    das muss so wie es da steht (ohne php tags) vor dem letzten[FONT=courier new][COLOR=#0000ff] ?> [/COLOR][/FONT]in functions.php vom theme eigefuegt werden.

  • Hallo alchymyth,
    es hab sich gelohnt, dass ich der shortcode- Variante noch eine Chance gegeben habe. Das Skript funktioniert !
    Vielen Dank !!!

  • Nachschlag:
    Angespornt vom Erfolg versuche ich, das Skript noch etwas zu optimieren. Habe folgendes php.- Skript gefunden und in die shortcode- Syntax gegossen:


    Diese Skript ermittelt die Anzahl der Bilder im Verzeichnis selbst. Name und Format sind egal. Ist also etwas "eleganter".
    Allerdings erhalte ich - nachdem ich dieses in die functions.php kopiert habe, folgende Fehlermeldung:

    Zitat


    Parse error: syntax error, unexpected T_VARIABLE in /home/www/wp-content/themes/simplicity/functions.php on line 105


    Die line 105, welche die Fehlermeldung erzeugt, betrifft die Pfadangabe des Verzeichnisses, in welchem die Bilder liegen, also

    $Verzeichnis = "http://www.passion-fliegenfischen.de/wp-content/uploads/startimages"

    vielleicht gibt es noch einen Tipp für mich ....

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!