WordPress Farklı URL ile Öne Çıkan Görsel Ekle

Bazen başka bir sunucudan yazılarınıza öne çıkan görsel eklemek isteyebilirsiniz. Bunun için karşı sunucuda bulunan resmi wordpress içindeki kendi upload klasörünüze, sanki bilgisayardan yüklüyormuş gibi tanımlamasını yapabilmeniz mümkün. Öncelikle dinamik olarak yazımızı oluşturacağımız kodlardan başlayalım,

 /* *	Author	: Bercan Özcan *	Web URL	: http://www.bercanozcan.com *	Twitter	: http://www.twitter.com/bercanozcan *	GitHub	: http://www.github.com/bercanozcan */ ## Yazı nesnesi oluştur $yazi = array(); $yazi['post_title'] = 'Yazı başlığı'; $yazi['post_content'] = 'Bu benim yazım.'; $yazi['post_status'] = 'publish'; $yazi['post_author'] = 1; $yazi['post_category'] = array(2); ## Yazıyı veritabanına ekle $yazi_id = wp_insert_post( $yazi );

Bu kodu çalıştrmak, sadece yeni yazı yayınlayacaktır. Şimdi wp_insert_post fonksiyonundan dönen id ile öne çıkan görselimizi ekleyeceğiz. Bunu için şu şekilde bir kod oluşturuyoruz.

 /* *	Author	: Bercan Özcan *	Web URL	: http://www.bercanozcan.com *	Twitter	: http://www.twitter.com/bercanozcan *	GitHub	: http://www.github.com/bercanozcan */ $image_url = 'Resim URL'; $upload_dir = wp_upload_dir(); $image_data = file_get_contents($image_url); $filename = basename($image_url); if( wp_mkdir_p( $upload_dir['path'] ) ) { $file = $upload_dir['path'] . '/' . $filename; } else { $file = $upload_dir['basedir'] . '/' . $filename; } file_put_contents( $file, $image_data ); $wp_filetype = wp_check_filetype( $filename, null ); $attachment = array( 'post_mime_type' => $wp_filetype['type'], 'post_title' => sanitize_file_name( $filename ), 'post_content' => '', 'post_status' => 'inherit' ); $attach_id = wp_insert_attachment( $attachment, $file, $post_id ); require_once(ABSPATH . 'wp-admin/includes/image.php'); $attach_data = wp_generate_attachment_metadata( $attach_id, $file ); wp_update_attachment_metadata( $attach_id, $attach_data ); set_post_thumbnail( $yazi_id, $attach_id );

Bu kod bloğunun son aşamasında, dinamik olarak eklediğimiz yazının id sini ortam nesnesinin id sine eşitledik ve başarılı bir şekilde işlemimizi gerçekleştirdik.

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir