bunları temanızın functions.php sine ekleyin
/**
* Admin Paneline özel js ekleyelim
*/
add_action('admin_enqueue_scripts', function(){
wp_enqueue_media(); // wordpress'in upload eklentisini çağırdık
// kendi özel js mizi temaurl/js/jebias-admin.js olarak oluşturup wp ye tanıttık
wp_register_script('jebias-admin-js', get_template_directory_uri().'/js/jebias-admin.js', array('jquery'));
wp_enqueue_script('jebias-admin-js');
});
/**
* Yazı ekleme sayfasına özel kutu ekleyelim
*/
add_action('add_meta_boxes',function(){
add_meta_box('ozel-alanim', 'Özel Alanım', function($post){
$ozelalan = get_post_meta($post->ID, 'ozelalan', true); ?>
<label for="ozelalan">Özel Alan</label>
<p>
<input value="<?php echo esc_attr($ozelalan); ?>" class="widefat" id="ozelalan" name="ozelalan" style="width:90%" type="text" />
<input data-id="ozelalan" type="button" value="Yükle" class="yukle-btn button-primary" />
</p>
<? }, 'post');
});
/**
* Yazı kayıt edilirken özel alanımızıda kayıt edelim
*/
add_action('save_post', function($post_id){
update_post_meta($post_id, 'ozelalan', sanitize_text_field($_POST['ozelalan']) );
});daha sonra
temaurlniz/js/jebias-admin.js oluşturup içine
jQuery(function(){
var custom_uploader;
jQuery('.yukle-btn').click(function(e) {
var id = jQuery('#'+jQuery(this).attr('data-id')); // yükle butonumuza yüklenen dosyanın urlsini atayacağımız input'un id sini veriyoruz burdada o kutuyu seçtirdik jquery'e
e.preventDefault();
if (custom_uploader) {
custom_uploader.open();
return;
}
custom_uploader = wp.media.frames.file_frame = wp.media({
title: "Burası Başlık",
library : { type : "image" },
button: {
text: "Resimi Seç"
},
multiple: false // birden fazla yükenmesin
});
custom_uploader.on('select', function() {
attachment = custom_uploader.state().get('selection').first().toJSON();
id.val(attachment.url); // yüklenen dosyanın url sini daha önce seçtiğimiz kutuya değer olarak atadık
});
custom_uploader.open();
});
});