W moim białym motywie nie ma skonfigurowanego atrybutu alt dla postu suwaka głównego. Dodałem tekst alternatywny dla obrazu poprzez interfejs biblioteki multimediów. Dodałem następujący kod, aby wyświetlić tekst alternatywny / atrybut. Ale to nie wyświetla:
<img class="homepage-slider_image" src="http://www.blabla.com/wp-content/uploads/2013/06/cms-website4-1800x800.jpg" alt="" />
Oto kod:
<?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
źródło
źródło
$attachment->ID
ale nie widzę żadnych informacji o$attachment
obiekcie w twoim kodzie.Odpowiedzi:
Przyszedł tutaj, ponieważ ten wpis jest jednym z najczęściej odwiedzanych wyszukiwarek, gdy szuka się obrazu WordPress alt i tytułu. Będąc raczej zaskoczonym, że żadna z odpowiedzi nie wydaje się stanowić prostego rozwiązania pasującego do tytułu pytania, porzucę to, co wymyśliłem, mając nadzieję, że pomoże to przyszłym czytelnikom.
Jako bonus, oto jak odzyskać obraz src. Dzięki powyższym atrybutom wystarczy nam zbudować znacznik obrazu statycznego.
źródło
Problem polega na tym, że nie podajesz poprawnego identyfikatora załącznika
get_post_meta()
iget_the_title()
funkcji.To jest twój kod, aby uzyskać
alt
obraz:I jest to poprawne, ale
$attachment->ID
nie jest zdefiniowane w kodzie, więc funkcja nic nie zwraca.Po odczytaniu kodu wydaje się, że przechowujesz identyfikator obrazu jako pole meta, a następnie otrzymujesz go za pomocą tego kodu:
Zakładając, że
$image->id
jest to poprawne w kodzie, powinieneś zastąpić to:Z:
To znaczy
alt
, żeby zdobyć tytuł:źródło
Używam szybkiej funkcji we wszystkich moich motywach, aby uzyskać dane załącznika do obrazu:
Mam nadzieję że to pomoże!
źródło
pamiętaj, że nie przetestowałem twojego
$image->id
, po prostu założyłem, że masz odpowiedni identyfikator załącznika. Reszta pochodzi$img_meta
. Jeśli brakuje alt, używamy tytułu obrazu, jeśli brakuje tytułu, zobaczysz tekst „Brak tytułu”, który zachęci cię do wypełnienia.źródło
Ok znalazłem odpowiedź, której nikt nie ma w sieci, której szukałem od kilku dni. Zachowaj w kopalni, działa to tylko wtedy, gdy Twój motyw lub wtyczka korzysta z WP_Customize_Image_Control (), jeśli używasz WP_Customize_Media_Control (), get_theme_mod () zwróci identyfikator, a nie adres URL.
Do mojego rozwiązania korzystałem z nowszej wersji WP_Customize_Image_Control ()
Wiele postów na forach zawiera funkcję get_attachment_id (), która już nie działa. Użyłem załącznika_url_to_postid ()
Oto jak mogłem to zrobić. Mam nadzieję, że to pomoże komuś tam
Narzut
źródło