lostyazilim
tr.link

wordpress de resim yüklerken dosya adını değiştirme

4 Mesajlar 1.335 Okunma
acebozum
tr.link

Pekerblg Pekerblg WM Aracı Kullanıcı
  • Üyelik 10.04.2018
  • Yaş/Cinsiyet 43 / E
  • Meslek bilgisayar programcısı
  • Konum Antalya
  • Ad Soyad M** P**
  • Mesajlar 38
  • Beğeniler 5 / 4
  • Ticaret 4, (%100)
Arkadaşlar Aşağıdaki Kodlarda resim ismini image.jpg olarak wordprese ekleyebiliyor. sorun image.jpg ismi yerine başka bir koymam lazım yardımcı olabilen varmı ???

$image_url="http://www.denemesite.com/image.jpg"

$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( $post_id, $attach_id );

 

 

elektronikssl
webimgo

wpuzman wpuzman WordPress Developer Kullanıcı
  • Üyelik 13.01.2017
  • Yaş/Cinsiyet 33 / E
  • Meslek Yazılım
  • Konum Trabzon
  • Ad Soyad B** M**
  • Mesajlar 2771
  • Beğeniler 293 / 949
  • Ticaret 33, (%100)
2 farklı filtreleme ekleyerek deneyebilirsiniz. Url den image yüklerken hangisini kullanıyor tam anlamadım. sanitize_file_name veya wp_handle_upload_prefilter ikisinden birini kullanıyorsa aşağıdaki gibi bir işlem yapılabilir.


add_filter('wp_handle_upload_prefilter', 'custom_upload_filter' );

function custom_upload_filter( $file ){
$file['name'] = 'wordpress-is-awesome-' . $file['name'];
return $file;
}


veya


function make_filename_hash($filename) {

$info = pathinfo($filename);
$ext = empty($info['extension']) ? '' : '.' . $info['extension'];
$name = basename($filename, $ext);

return "custom_image_name"."_".$name . $ext;
}
add_filter('sanitize_file_name', 'make_filename_hash', 10);
Pekerblg

kişi bu mesajı beğendi.

Pekerblg Pekerblg WM Aracı Kullanıcı
  • Üyelik 10.04.2018
  • Yaş/Cinsiyet 43 / E
  • Meslek bilgisayar programcısı
  • Konum Antalya
  • Ad Soyad M** P**
  • Mesajlar 38
  • Beğeniler 5 / 4
  • Ticaret 4, (%100)
Üstad

'post_title' => sanitize_file_name($filename),

koddaki $filename yazılan yeri değiştirince oldu

Yardımın için teşekükrüler
 

 

wpuzman wpuzman WordPress Developer Kullanıcı
  • Üyelik 13.01.2017
  • Yaş/Cinsiyet 33 / E
  • Meslek Yazılım
  • Konum Trabzon
  • Ad Soyad B** M**
  • Mesajlar 2771
  • Beğeniler 293 / 949
  • Ticaret 33, (%100)
Önce birinciyi dene sonra ikinciyi dene. Bak bakalım herhangi birinde yüklenen ismi değişecek mi? Ona göre düzenleme yaparız.
 

 

wmaraci
wmaraci
wmaraci
wmaraci
Konuyu toplam 1 kişi okuyor. (0 kullanıcı ve 1 misafir)
Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al