Support » Allgemeine Fragen » Bildunterschrift für Bilder innerhalb eines Beitrages/Seite

  • Gelöst radarin

    (@radarin)


    Hallo zusammen.

    Ich will auf meiner Seite die Bilder IN Beiträgen und Seiten mit Bildunterschriften versehen, die Bilder irgendwo im Text also, nicht das Beitragsbild, das habe ich bereits gelöst, dafür findet Google viele Antworten.

    Im Hinblick auf allfällig nötige Urheberhinweise wäre es am sinnvollsten das Feld ‚Beschriftung‘ in der Mediathek zu verwenden.

    Ich gehe davon aus, dass es irgendwo eine Funktion gibt, welche die Ausgabe der Bilder erzeugt?

    In der function.php des Themes ‚lovecraft‘ bin ich nicht fündig geworden. Ist mein Anliegen überhaupt so umsetzbar?

    Gruß René

Ansicht von 5 Antworten - 1 bis 5 (von insgesamt 5)
  • Schau dir mal diesen Beitrag an:

    https://mor10.com/power-of-wordpress-image-metadata/

    Morten beschreibt darin, wo die Bildunterschrift festgelegt und wie sie anschließend ausgegeben wird.

    Thread-Starter radarin

    (@radarin)

    Danke für Deine Antwort. Das ist aber nicht das was ich will.

    Es sollen Titel, Beschriftung, Alternativtext und Beschreibung verwendet werden, die in der Mediathek dem Bild angefügt sind.

    Ich hab jetzt zufällig gerade festgestellt, wenn ich im Beitrag ein Bild in den Text einfüge, so fügt es auch die Beschriftung im Text ein. Wenn ich in der Mediathek die Beschriftung ändere, so wird das im Beitrag nicht übernommen, im Gegensatz zum Beitragsbild.

    Ich bin jetzt immerhin einen Schritt weiter und weiss, dass ich in der Mediathek diese Angaben tätigen muss, bevor ich das Bild in einem Beitrag verwende. Unschön ist es einfach, dass Änderungen in der Mediathek dann im Beitrag nicht aktualisiert werden.

    Weshalb diese Unterschiede sind mir klar. Man müsste also das Bild nicht als IMG-Tag im Beitrag hinterlegen, sondern via Funktion. Gibt es da ein Plugin um Bilder in Beiträge zu übernehmen?

    Ich habe Shortcode Ultimate installiert, damit kann ich auch einzelne Fotos als Gallerie einbinden. Nicht gerade geeignet für diesen Zweck, es übernimmt nur den Titel und ich muss die Grösse manuell und fix eintragen (habe nicht getestet wie es sich auf dem mobilen Gerät auswirken würde), aber es beweist, dass auf diese Art die aktuellen Angaben aus der Mediathek übernommen werden.

    Gruß René

    Thread-Starter radarin

    (@radarin)

    Es gibt Plugins die Bildergallerien erstellen auf Grund eines Shortcodes, in welchem ich die IDs der gewünschten Bilder übergebe.

    Ich habe jetzt auch im Codex gesucht, nach einer Funktion, welche mit auf Grund der ID die URL, Titel, Beschreibung, etc. zurück gibt. Gibt es sowas nicht oder habe ich es übersehen?

    Mit Hilfe einer solchen Funktion könnte ich mein Anliegen lösen, auch wenn dann im Editor das Bild nicht sichtbar ist. Nicht ideal, aber aktuelle Werte aus der Mediathek sind mir wichtiger.

    Gruß René

    Ist ein wenig komplizierter, aber es geht.
    https://stackoverflow.com/a/20664455

    Damit kannst du dir einen Shortcode für Bilder nach Media-ID bauen, der sich immer aktualisiert, weil es die Daten dynamisch holt.

    Gruß, Torsten

    Thread-Starter radarin

    (@radarin)

    Besten Dank für Deine Inspiration. Der Link hat mich auf die richtige Fährte gebracht.

    Dass hier u.U. mehrere Funktionsaufrufe nötig sind, habe ich bereits ins Auge gefasst.

    Zur Lösung:

    Mit get_post_field () erhalte ich den Titel, die Beschriftung, die Beschreibung und die URL des Bildes (in der grössten Auflösung)

    WP speichert in meinem Fall die Bilder in 8 verschiedenen Grössen. Mit wp_get_attachment_image_src() erhalte ich ebenfalls die URL zum Bild, kann jedoch die Grösse (zum Laden) beeinflussen. Wenn eine mittlere Grösse reicht, brauche ich ja nicht das grösste Bild zu laden, damit es WP wieder runter skaliert.

    Statt des Bildes füge ich nur noch einen Shortcode in den Beitrag ein:

    [loadimg id=’263′ size=’medium_large‘ info=’kurze Beschreibung des Bildes‘]

    ID ist die Bild ID in der Mediathek, ersichtlich in der URL wenn man ins Bild rein klickt.
    SIZE ist die Bildgrösse. Es gibt auch noch thumbnail, medium oder large.
    INFO ist für die Funktion nicht relevant, hier trage ich eine beliebige Beschreibung zum Bild ein, da es mir ja nicht angezeigt wird und ich mir unter der ID auch nichts vorstellen kann.

    Die Funktion dazu:

    function load_img_mediathek($atts) {
       $atts = shortcode_atts( array(
          'id' => '',
          'size' => '',
       ), $atts, 'loadimg' );
       
       $attachmentID = $atts['id'];
       $imageSizeName = $atts['size'];
       
       $img = wp_get_attachment_image_src($attachmentID, $imageSizeName);
       
       $excerpt = get_post_field ('post_excerpt', $attachmentID); // Feld Beschriftung (Bildunterschrift)
       $title = get_post_field ('post_title', $attachmentID); // Feld Titel
       $content = get_post_field ('post_content', $attachmentID); // Feld Beschreibung
       
       $var = "<figure>";
       $var = $var."<img src='".$img[0]."' width='".$img[1]."' height='".$img[2]."' class='bildrahmen' title='".$content."'>";
       $var = $var."<figcaption>".$excerpt."</figcaption>";
       $var = $var."</figure>";
       
       return $var;  
    }
    add_shortcode('loadimg', 'load_img_mediathek');

    $title wird in diesem Beispiel nicht verwendet, die Zeile könnte man also löschen.

    Das CSS dazu: (muss natürlich individuell angepasst werden)

    figure {
      position: relative;
      margin: 0;
      padding: 10px;
      width: 470px;
      border: 1px solid gainsboro;
      background: white;
    }
    
    figcaption {
      padding: 10px;
      text-align: center;
    }
Ansicht von 5 Antworten - 1 bis 5 (von insgesamt 5)
  • Das Thema „Bildunterschrift für Bilder innerhalb eines Beitrages/Seite“ ist für neue Antworten geschlossen.