Zufälliges Thumbnail-Bild aus einem Ordner verwenden

  • Hallo zusammen,

    ich hoffe, dass mir jemand helfen kann.


    Ich nutze bei Wordpress und das Divi-Theme.
    Für die Beitragskategorie "Verkehrsnachrichten" habe ich eine Galerie mit bestimmten Bildern erstellt, die oben als Titelbild erscheint. Das Bild wird zufällig angezeigt.


    Den folgenden Quellcode habe ich hinzugefügt: // Automatisches Festlegen des hervorgehobenen Bildes als Thumbnail
    function auto_set_featured_image() {
    global $post;
    $featured_image_exists = has_post_thumbnail($post->ID);
    if (!$featured_image_exists) {
    $attached_image = get_children( "post_parent=$post->ID&post_type=attachment&post_mime_type=image&numberposts=1" );
    if ($attached_image) {
    foreach ($attached_image as $attachment_id => $attachment) {set_post_thumbnail($post->ID, $attachment_id);}
    }
    }
    }
    add_action('the_post', 'auto_set_featured_image');


    Leider erkennt Wordpress nicht, dass es das erste Foto auf der Beitragsseite verwenden soll (also ein Bild aus der Galerie). Deshalb muss ich etwas umdenken, um eine Lösung zu finden.


    Nun also meine Idee:

    Wenn kein Thumbnail im Beitrag der Kategorie „Verkehrsnachrichten“ hinterlegt ist, dann verwende ein zufälliges Foto aus dem Ordner aus dem Beispielpfad: wp-content/uploads/kategorien/verkehrsnachrichten/

    Den Ordner Kategorienfotos „verkehrsnachrichten“ würde ich manuell anlegen und füge die gewünschten Fotos hinzu.


    Folgt meine Frage: Wer könnte mir da eine Lösung/Code sagen, wie ich zu meinem Ziel komme?


    Hier ist die Beispielseite: https://ostbayerische24.de/verkehrsnachrichten/test


    Vielen Dank im Voraus für eure Zeit :love:

  • hmmmm - das funktioniert leider nicht

    der Kerngedanke ist aber nicht verkehrt. Du liest alle Einträge eines Verzeichnisses aus und sammelst sie in einem Array.

    Aus diesem Array wählst du dann einen zufälligen Wert aus.


    Auch wenn ich keinen Plan von WordPress habe:

    $random_image_path = $image_files[array_rand($image_files)]; der Aufruf von array_rand braucht lt. PHP Doku zwei Parameter.

  • hat jemand von euch Profis eine Idee wo es hakt?

    Ich hatte dir ja schon ein Beispiel geschrieben, wo der Code von ChatGPT fehlerhaft ist.

    Eine mögliche Herangehensweise hatte ich dir ja auch schon genannt.


    Welche Erwartungen hast du denn da jetzt genau?

  • Der obige Code von Chat-GPT ist nur einmalig für neue Beiträge, man muss nur den aktuellen View überschreiben.


    Bei Wordpress bringt die KI Vorteile.. manche Kostenpflichtigen Plugins ersetzen nur 5 Zeilen Code durch die Api und diese für die Masse konfigurierbar mit Admin-Panel..


    Letzendlich hätte man nur 5 Zeilen Schreiben müssen. (z.B. Wp_Mail auf SMTP umleiten)


    Der Github Copilot schreibt für ein Snippet des Child Theme in der functions.php:

  • Bitte markiere KI generierten Content, wenn du ihn hier so reinballerst.

    Somit weiß auch der Empfänger:

    - Es ist nicht vor dir geschrieben

    - Es ist von einer KI generiert

    Und muss schon alleine aus den beiden Punkten mit großer Skepsis genutzt werden.

    Ich persönlich fand das hier nicht in Ordnung.

    Wenn man KI Hilfe möchte, dann kann jeder selbst eine KI seiner Wahl nutzen.

    Aber eine KI Antwort von einem Menschen auf eine Frage ohne Vorwarnung zu bekommen ist fahrlässig.

    Ohne Gewähr - good luck sailor.
    [...]

  • Haben wir denn jetzt die Lösung gefunden?

    ... da ist ja immer noch das Testbild vom 27. ...

    Du gehst nicht mal auf meine Nachricht ein?

    Du hast nicht mal ein Kommentar dazu?


    Von mir aus ein Zähneknirschendes "Ja... Es stimmt, das war echt nicht die feine Englische Art. Ich werde meine KI Antworten in Zukunft entsprechend Labeln, damit Leute wissen das es nicht mein Code ist und ich hier nicht für die Qualität garantieren kann"


    Und weil du

    [...] Die KI bitten ihre Antwort [...] zu schreiben [...]. Aus Rücksicht auf Aillergiker kann das manchmal sinnvoll sein.

    Und weil du noch so etwas schreibst: Es hat nichts damit zu tun, dass hier Leute allergisch auf KIs reagieren.

    Es ist einfach fahrlässig einfach ohne Hinweis einen ungeprüften Code (Egal ob KI oder von irgendwo) zu posten um jemandem zu helfen.


    Es geht hier auch im Forum nicht darum die meisten "Hilfreichsten" Post zu haben, es geht darum qualitativ zu helfen.


    Bedenke ebenfalls: Dies hier ein öffentliches Forum. Dein ungültiger Code steht jetzt hier, irgendwann sucht vielleicht jemand noch mal nach so etwas, findet das, versucht es, es geht nicht. Vielleicht reißt es sogar eine Sicherheitslücke im Wordpress auf. Nur weil du kurz mal KI genutzt hast und ungeprüften Code geteilt hast.


    Also: Wenn du helfen willst: Gib dir Mühe und teste Code bevor du ihn teilst. Handel nach dem gesunden Menschenverstand.