В моей белой теме нет атрибута alt, настроенного для поста домашнего слайдера. Я добавил альтернативный текст для изображения через интерфейс библиотеки мультимедиа. Я добавил следующий код для отображения альтернативного текста / атрибута. Но это не отображает:
<img class="homepage-slider_image" src="http://www.blabla.com/wp-content/uploads/2013/06/cms-website4-1800x800.jpg" alt="" />
Вот код:
<?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
источник
источник
$attachment->ID
но я не вижу никакой информации об$attachment
объекте в вашем коде.Ответы:
Пришел сюда, так как этот пост является одним из лучших хитов в поисковой системе при поиске изображения и заголовка WordPress. Будучи довольно удивленным, что ни один из ответов не дает простого решения, соответствующего названию вопроса, я опущу то, что придумал, в конце концов, надеясь, что это поможет будущим читателям.
В качестве бонуса вот как получить изображение SRC. С помощью вышеуказанных атрибутов это все, что нам нужно для создания разметки статического изображения.
источник
Ваша проблема в том, что вы не предоставляете правильный идентификатор вложения
get_post_meta()
иget_the_title()
функции.Это ваш код для получения
alt
изображения:И это правильно, но
$attachment->ID
не определено в вашем коде, поэтому функция ничего не возвращает.Читая ваш код, кажется, что вы храните идентификатор изображения в виде метаполя, а затем получаете его с этим кодом:
Итак, предполагая, что
$image->id
это правильно в вашем коде, вы должны заменить это:С:
Это для получения
alt
, чтобы получить название:источник
Я использую быструю функцию во всех моих темах, чтобы получить данные вложения изображения:
Надеюсь это поможет!
источник
обратите внимание, что я не проверял ваш
$image->id
, просто предположил, что у вас есть правильный идентификатор вложения. Остальное приходит$img_meta
. Если alt отсутствует, мы используем заголовок изображения, если заголовок отсутствует, вы увидите текст «Missing title», чтобы подтолкнуть вас к заполнению.источник
Хорошо, я нашел ответ, которого ни у кого нет в сети, которую я искал несколько дней. Помните, это работает, только если ваша тема или плагин использует WP_Customize_Image_Control (), если вы используете WP_Customize_Media_Control (), get_theme_mod () вернет идентификатор, а не URL.
Для моего решения я использовал более новую версию WP_Customize_Image_Control ()
У многих сообщений на форумах есть get_attachment_id (), который больше не работает. Я использовал attachment_url_to_postid ()
Вот как я смог это сделать. Надеюсь, это поможет кому-то там
наценка
источник