Sambil melihat entri referensi fungsi untuk wp_insert_post () , saya perhatikan bahwa tidak ada parameter dalam array yang diperlukan yang akan memungkinkan saya untuk mengatur 'Gambar Unggulan' untuk posting, ditampilkan sebagai thumbnail posting di tema saya.
Saya telah melihat ke dalam fungsi-fungsi seperti set_post_thumbnail () , seperti yang disarankan oleh Mr. Bennett, tetapi ini tampaknya merupakan tambahan yang relatif baru untuk WordPress itu sendiri dan kodeks WordPress. Karena itu, tidak ada sumber yang dapat saya temukan yang menjelaskan bagaimana parameter $ thumbnail_id harus diperoleh dan disediakan. Jika ini benar-benar fungsi untuk digunakan, dengan cara apa saya bisa memberikan parameter $ thumbnail_id yang valid ketika semua yang saya miliki adalah URL gambar?
Terima kasih sebelumnya!
Coba gunakan
set_post_thumbnail()
.Sunting oleh Otto: Anda mengklarifikasi pertanyaan Anda, jadi saya akan mengklarifikasi respons yang diberikan Chip.
Pada dasarnya, Anda perlu membuat 'lampiran' untuk posting juga. Ketika suatu gambar diunggah ke dalam pustaka media WordPress, entri tulisan khusus dibuat untuk itu dengan jenis lampiran posting. Lampiran ini ditautkan ke beberapa pos tertentu melalui pengidentifikasi post_parent.
Jadi jika Anda tahu ID lampiran, maka memanggil set_post_thumbnail dengan objek posting atau ID dan ID lampiran hanya akan mengatur bendera thumbnail posting.
Jika Anda belum membuat lampiran, maka Anda harus melakukannya terlebih dahulu. Cara termudah untuk melakukannya adalah dengan
wp_insert_attachment()
. Fungsi ini mengambil array dari beberapa parameter, nama file (file harus sudah ada di direktori unggahan yang tepat), dan ID posting dari posting induk yang ingin Anda lampirkan lampirannya.Hanya memiliki file yang diunggah dan dilampirkan pada sebuah posting tidak melakukan apa pun secara otomatis. Ini hanyalah semacam mekanisme kategorisasi. Mekanisme galeri, misalnya, menggunakan gambar yang dilampirkan dari sebuah pos untuk membangun [galeri] untuk posting itu. Thumbnail untuk postingan hanyalah salah satu dari gambar terlampir yang telah ditetapkan sebagai thumbnail.
Info lebih lanjut tentang cara menggunakan wp_insert_attachment dapat ditemukan di codex (ditautkan di atas).
sumber
Saya ingin meningkatkan jawaban Robs dengan memanfaatkan fungsi inti WP
download_url
danmedia_handle_sideload
sumber
set_post_thumbnail()
adalah fungsi terbaik untuk persyaratan ini.Saya pikir, Anda menemukan ID lampiran melalui
get_children()
atauget_posts()
. Hasilnya memiliki array dan di dalam array ini adalah ID. Ikuti contoh untuk pengujian; Saya harap ini berhasil; menulis tanpa tes, hanya pada awal.Untuk kebutuhan Anda, penting bahwa Anda mengubah
get_the_ID()
dengan Andapost-ID
; kembalikan ID Lampiran dan ini bisa Anda gunakan fothset_post_thumbnail()
.sumber
Baru saja menemukan ini dan membuatnya lebih sederhana, berfungsi tetapi saya bukan scrubber keamanan
sederhana atau apa? setelah mendapatkan file yang tepat, wordpress akan menangani media dan mengunggahnya, lalu menjadikannya sebagai thumbnail.
sumber