Dalam tema putih saya, tidak ada atribut alt yang dikonfigurasi untuk posting slider rumah. Saya menambahkan teks alt untuk gambar melalui antarmuka perpustakaan media. Saya menambahkan kode berikut untuk menampilkan teks alt / atribut. Tetapi tidak muncul:
<img class="homepage-slider_image" src="http://www.blabla.com/wp-content/uploads/2013/06/cms-website4-1800x800.jpg" alt="" />
Ini kodenya:
<?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
sumber
sumber
$attachment->ID
tetapi saya tidak dapat melihat info tentang$attachment
objek dalam kode Anda.Jawaban:
Datang ke sini karena pos ini adalah salah satu hit teratas di mesin pencari ketika mencari alt dan judul gambar WordPress. Menjadi agak terkejut bahwa tidak ada jawaban yang tampaknya memberikan solusi sederhana yang cocok dengan judul pertanyaan saya akan meninggalkan apa yang saya dapatkan pada akhirnya berharap ini membantu pembaca masa depan.
Sebagai bonus, inilah cara mengambil src gambar. Dengan atribut di atas itu saja yang kita butuhkan untuk membangun markup gambar statis.
sumber
Masalah Anda adalah Anda tidak memberikan ID lampiran
get_post_meta()
danget_the_title()
fungsi yang benar.Ini adalah kode Anda untuk mendapatkan
alt
gambar:Dan itu benar, tetapi
$attachment->ID
tidak didefinisikan dalam kode Anda, jadi, fungsinya tidak mengembalikan apa pun.Membaca kode Anda, tampaknya Anda menyimpan ID gambar sebagai bidang meta dan kemudian Anda mendapatkannya dengan kode ini:
Jadi, anggap itu
$image->id
benar dalam kode Anda, Anda harus mengganti ini:Dengan:
Itu untuk mendapatkan
alt
, untuk mendapatkan gelar:sumber
Saya menggunakan fungsi cepat di semua tema saya untuk mendapatkan data lampiran gambar:
Semoga ini membantu!
sumber
harap dicatat bahwa saya tidak menguji Anda
$image->id
, hanya berasumsi bahwa Anda memiliki ID lampiran yang tepat. Sisanya berasal$img_meta
. Jika alt hilang, kami menggunakan judul gambar, jika judul tidak ada, Anda akan melihat teks "Judul hilang" untuk mendorong Anda untuk mengisinya.sumber
Ok saya menemukan jawaban bahwa tidak ada seorang pun di internet saya sudah mencari hari sekarang. Tetap milik saya ini hanya berfungsi jika tema atau plugin Anda menggunakan WP_Customize_Image_Control () jika Anda menggunakan WP_Customize_Media_Control () get_theme_mod () akan mengembalikan ID dan bukan url.
Untuk solusi saya, saya menggunakan versi yang lebih baru WP_Customize_Image_Control ()
Banyak posting di forum memiliki get_attachment_id () yang tidak berfungsi lagi. Saya menggunakan attachment_url_to_postid ()
Inilah cara saya dapat melakukannya. Semoga ini bisa membantu seseorang di luar sana
Markup
sumber