Support » Allgemeine Fragen » Loop im Child-Theme?

  • Gelöst FrankEck

    (@frankeck)


    Folgende Situation: Das Theme bietet keine Verknüpfung auf den jeweiligen Post für das Beitragsbild, also „Klick“ auf dqas Beitragsbild und der Beitrag öffnet sich. Grundsätzlich habe ich folgende Lösung gefunden:

    //Link im Beitragsbild
    if ( has_post_thumbnail()) {
      echo '<a href="' . get_permalink($post->ID) . '" >';
      the_post_thumbnail();
      echo '</a>';
    }

    Naiverweise habe ich den Code in die functions.php geschrieben, was aber nicht funktioniert. Der Code muss ja in den Loop. Aber wo und wie???

    Vermutlich wieder einmal recht einfach zu lösen, aber ich googoe mich gerade blöd und finde nicht den richtigen Ansatz…

Ansicht von 14 Antworten - 1 bis 14 (von insgesamt 14)
  • Das ist ohne Angabe des Themes nur pauschal zu beantworten: In die Loop bzw. in den Template-Teil, wenn das Theme get_template_part() verwendet – und zwar an die Stelle, an der das Bild ausgegeben werden soll.

    Welches Template für die Beitrags-Übersichtsseite verwendet wird, hängt davon ab, wie deine Website eingestellt ist („Startseite zeigt …“) und welche Templates dein Theme dafür zur Verfügung stellt. (Am einfachsten ist das herauszufinden, in dem du das Plugin What the File verwendest. Das zeigt dir auch an, ob bzw. welches Template-Teil verwendet wird.)

    Thread-Starter FrankEck

    (@frankeck)

    Das Template konnte ich analysieren, und ich denke auch den Part, der die Bilder ausgibt:

    <div class="fg-gallery-list-thumb" style="background-image: url(<?php echo esc_url($image[0]); ?>) ">
    </div>

    Was kann ich nun damit anfangen? 🙂

    Das lässt sich so schlecht beantworten. Scheinbar wird da ein Bild als Hintergrundbild eingefügt. Was ist denn, wenn du an dieser Stelle deinen Code einfügst?

    Thread-Starter FrankEck

    (@frankeck)

    Der Code passt da nicht bzw. funktioniert nicht. Ich habe es auch beispielsweise mit

    <a href="' . get_permalink($post->ID) . '">&nbsp;</a>

    probiert, aber das klappt auch nicht. Ich werde mich mal an die Entwickler des Themes wenden, vielleicht haben die eine Idee…

    Ohne Angabe des Themes oder zumindest einer URL ist das leider wenig zielführend, so gerne wir Dir auch immer helfen würden. Aber das ist so ungefähr wie ein ärztliche Behandlung über tausende Kilometer entfernt..

    Thread-Starter FrankEck

    (@frankeck)

    Ja, Sorry… es handelt sich um das Theme fotography von AccessPress. Ich denke, dass ich den Ansatz gefunden habe, aber momentan keine saubere Lösung finde, um einen DIV-Container mit einer Verknüpfung zu hinterlegen.

    Im Loop, genauer gesagt, in einem Template wird zu jedem Post ein DIV erstellt und mit dem Beitragsbild als Hintergrund ausgestattet:

    <div class="fg-gallery-list-thumb" style="background-image: url(<?php echo esc_url($image[0]); ?>) ">
    </div>

    Hier müsste also meiner Meinung nach die Verknüpfung erstellt werden.

    Versuch mal das. Ist zwar unschön, sollte aber funzen:

    <div class="fg-gallery-list-thumb" style="background-image: url(<?php echo esc_url($image[0]); ?>) ">
    <a href="<?php get_permalink($post->ID); ?>" style="display:block; height: 100%; width:100%>&nbsp;</a>
    </div>
    Thread-Starter FrankEck

    (@frankeck)

    Nein Thomas, so, oder so ähnlich hatte ich es auch schon probiert… ohne Erfolg.

    Hm, schade 😉

    Magst mir mal die Datei bzw. Ansicht, welche Du zu bearbeiten versuchst? Wäre vermutlich einfacher, als hier im Dunkeln zu tappen. Grundsätzlich ist das nämlich ne recht einfache Sache, die Du hier umzusetzen versuchst.

    Das hier ist jedenfalls das richtige Theme, richtig? => https://wordpress.org/themes/fotography/

    EDIT: Sehe oben grade, dass ich hinter dem width:100% vergessen habe, die Anführungszeichen zu schließen, liegt es evtl. daran?

    Einfacher als gedacht, wenn man sich das Template (template-parts/content.php) mal selbst anschaut 😉

    <div class="fg-gallery-list-thumb" style="background-image: url(<?php echo esc_url($image[0]); ?>) "><a href="<?php the_permalink(); ?>" style="display:block; height: 100%; width:100%"> </a>
    </div>

    Am Besten setzt Du noch ein geschütztes Leerzeichen „& nbsp;“ (das aber hier immer rausgefiltert wird, deshalb das Leerzeichen) zwischen öffnendes und schließendes < a>< /a>.

    Thread-Starter FrankEck

    (@frankeck)

    🙂 Danke für die Mühe. Bin jetzt grad nicht in der Lage es zu testen, hole ich aber nachher nach! Die Datei benötigst du nicht mehr, richtig?

    Nein, hab mir das Theme selbst gezogen und bei mir klappt es mit o.g. Lösung soweit perfekt.

    Thread-Starter FrankEck

    (@frankeck)

    Perfekt! Danke! 🙂

    Immer gern. Danke, dass Du den Thread als gelöst markiert hast.

Ansicht von 14 Antworten - 1 bis 14 (von insgesamt 14)
  • Das Thema „Loop im Child-Theme?“ ist für neue Antworten geschlossen.