In meinem weißen Thema gibt es kein alt-Attribut, das für den Home-Slider-Beitrag konfiguriert ist. Ich habe den Alternativtext für das Bild über die Benutzeroberfläche der Medienbibliothek hinzugefügt. Ich habe den folgenden Code hinzugefügt, um den alternativen Text / das alternative Attribut anzuzeigen. Es wird jedoch nicht angezeigt:
<img class="homepage-slider_image" src="http://www.blabla.com/wp-content/uploads/2013/06/cms-website4-1800x800.jpg" alt="" />
Hier ist der Code:
<?php
$image = get_post_meta(get_the_ID(), WPGRADE_PREFIX.'homepage_slide_image', true);
if (!empty($image)) {
$image = json_decode($image);
$image_alt = get_post_meta( $attachment->ID, '_wp_attachment_image_alt', true);
if ( empty( $image_alt )) {
$image_alt = $attachment->post_title;
}
if ( empty( $image_alt )) {
$image_alt = $attachment->post_excerpt;
}
$image_title = $attachment->post_title;
$image_id = $image->id;
$image = wp_get_attachment_image_src( $image_id, 'blog-huge', false);
echo '<img class="homepage-slider_image" src="'.$image[0].'" alt="'. $image_alt .'" />';
}
?>
post-thumbnails
attachments
conditional-tags
images
Nisha_at_Behance
quelle
quelle
$attachment->ID
aber ich kann keine Informationen über das$attachment
Objekt in Ihrem Code sehen.Antworten:
Kam hierher, da dieser Beitrag zu den Top-Hits in der Suchmaschine gehört, wenn nach WordPress-Bildalt und -Titel gesucht wird. Da ich ziemlich überrascht bin, dass keine der Antworten eine einfache Lösung zu bieten scheint, die dem Titel der Frage entspricht, werde ich das, was ich mir ausgedacht habe, am Ende fallen lassen und hoffen, dass es zukünftigen Lesern hilft.
Als Bonus erfahren Sie hier, wie Sie eine Bildquelle abrufen. Mit den obigen Attributen ist das alles, was wir brauchen, um das Markup eines statischen Bildes zu erstellen.
quelle
Ihr Problem ist, dass Sie die ID
get_post_meta()
undget_the_title()
Funktionen des Anhangs nicht korrekt angeben .Dies ist Ihr Code, um
alt
das Bild zu erhalten:Und es ist korrekt, aber
$attachment->ID
nicht in Ihrem Code definiert, daher gibt die Funktion nichts zurück.Wenn Sie Ihren Code lesen, scheint es, als ob Sie die ID des Bildes als Metafeld speichern und Sie erhalten sie dann mit diesem Code:
Unter der Annahme, dass dies
$image->id
in Ihrem Code korrekt ist, sollten Sie Folgendes ersetzen:Mit:
Das ist
alt
, um den Titel zu bekommen:quelle
Ich verwende in all meinen Designs eine Schnellfunktion, um Daten zu Bildanhängen abzurufen:
Hoffe das hilft!
quelle
Bitte beachten Sie, dass ich Ihre nicht getestet habe, sondern
$image->id
nur davon ausgegangen habe, dass Sie die richtige Anhangs-ID haben. Der Rest kommt von$img_meta
. Wenn alt fehlt, wird der Bildtitel verwendet. Wenn der Titel fehlt, wird der Text "Fehlender Titel" angezeigt, um Sie zum Ausfüllen zu bewegen.quelle
Ok, ich habe die Antwort gefunden, die niemand im Netz hat, nach der ich seit Tagen gesucht habe. In meinem Fall funktioniert dies nur, wenn Ihr Theme oder Plugin WP_Customize_Image_Control () verwendet. Wenn Sie WP_Customize_Media_Control () verwenden, gibt get_theme_mod () die ID und nicht die URL zurück.
Für meine Lösung habe ich die neuere Version WP_Customize_Image_Control () verwendet.
Viele Beiträge in den Foren haben die get_attachment_id (), die nicht mehr funktioniert. Ich habe attachment_url_to_postid () verwendet.
Hier ist, wie ich es geschafft habe. Hoffe das hilft jemandem da draußen
Markup
quelle