BU DERSİN BAŞLIKLARI
Ortam dosyaları veya medya dosyaları, temamızda sunmak için başka ortamlardan yüklediğimiz veya temamıza çağırdığımız dosyalardır. Bu dosyalar, genel olarak; resim, video, ses, PDF… dosyalarıdır.
WordPress temalarında kullanılan ortam dosyaları, şu başlıklarda incelenir:
- Ses dosyaları
- Resim dosyaları
- Resim galerileri
- Video dosyaları
- PDF, txt gibi dosyalar
Temaya Ortam Dosyası Yükleme
WordPress temasına, ortam dosyası yüklemenin 3 yolu vardır. Aşağıda bu yollar verilmiştir.
I- Ortam Yükleyicisi İle
Ortam yükleyici, WordPress temalarına her türden ortam dosyası yüklemek için kullanılan gelişmiş bir özelliktir.
Ortam yükleyicisine ulaşmak için; yönetim panelinde bulunan Ortam->Yeni ekle menüsüne gidilir ve şöyle bir sayfa ile karşılaşılır:
Bu sayfada, “Dosya seçin” butonuna tıklayarak, bilgisayarımızdaki dosyaları temamızın kütüphanesine yükleyebiliriz.
II- İçerik Editörü İle
WordPress temalarına ortam dosyası yüklemenin bir diğer yolu, yazı ve sayfa düzenlemek için kullandığımız editör yadımı ile eklemektir.
WordPress 5.0 sürümü ve sonrasında, Gutenberg adı verilen ya da blok editör denilen yeni bir içerik editörü ile birlikte gelmektedir. Biz de derslerimizi blok editör üzerinden devam ettireceğiz.
Aşağıdaki resimler, blok editörde, herhangi bir içeriği düzenlerken, resim eklemenin adımlarını göstermektedir:
Bir ortam dosyası, editör yardımı ile yüklenirse, doyanın ebeveyni de ('post_parent'
) editör ile o anda düzenlenen içerik olacaktır, bir başka deyişle, yüklenen ortam dosyası, o içeriğin yavrusu (child) olarak kaydedilecektir. Bu önemli bir özelliktir. Çünkü, şablon dosyalarında, bir içeriğe ait ortam dosyaları getirmek istediğimizde, genellikle, bu içeriğin ID değerini kullanarak, bu içeriğin yavrusu olarak (child) kaydedilmiş dosyaları çağırırız.
III- FTP Bağlantısı İle
WordPress temamıza ortam dosyası eklemek için kullanabileceğimiz bir diğer yol ise, sunucumuz ile kurduğumuz bir FTP bağlantısını kullanmaktır. FTP bağlantısı kurarak ortam dosyası yüklemek için File Zilla gibi hazır bir program da kullanabiliriz.
Bu yöntemin, ortam dosyası yüklemek için kullandığımız diğer yöntemlerden farkı, yüklediğimiz dosyaların veritabanımızda bir kaydının olmaması ve yüklediğimiz resimlerin ortam kütüphanesinde görünmemesidir. Bu tür ortam dosyalarının bir ID değeri veya veritabanında kayıtlı başka bir datası olmaz. Bu dosyalar, URL değerleri yardımı ile şablon dosyalarımıza taşınır.
Örnek-1
Örneğin, FTP bağlantısı ile temamızın ana dizinde bulunan resimler
klasörüne sitecenneti-wordpress.jpg
adlı bir resim yüklemiş olalım. Bu resmi, şablon dosyalarımızda kullanmak istediğimizde şu kodu kullanabiliriz:
<?php $src = get_template_directory_uri().'/resimler/sitecenneti-wordpress.jpg'; ?>
<img src="<?php echo $src; ?>" alt="Alternatif metin" title="Başlık metni" />
Ortam Dosyalarını Şablon Dosyalarına Çağırma
Şablon dosyalarınızda, ortam dosyalarını çağırmak gerektiğinde kullanabileceğiniz üç temel fonksiyon vardır. Bu fonksiyonlar şunlardır:
Örnek-1
Get_posts() fonksiyonu ile WordPress döngüsü içinde, bir yazı için yüklenmiş olan resimlerden, orta boyuttakiler ile bir foto galeri oluşturmak için aşağıdaki kodlar ilham verici olabilir:
<?php if ( have_posts() ) : ?>
<?php while ( have_posts() ) : the_post(); ?>
<!-- Yazı için Yüklenen Fotolardan bir Galari -->
<?php
// Döngüde sırası gelen yazı için yüklenen ortam dosyalarının dizisini oluşturuyoruz
$argumanlar = array(
'post_parent' => get_the_ID(), // Resmin ebevyeni olan yazının ID değeridir
'post_type' => 'attachment', // Sadece ortam dosyaları gelsin
'mime_type' => 'image', // Sadece resimler
);
$resimlerin_dizisi = get_posts( $argumanlar );
?>
<?php
// WordPress ortam dosyalarını uploads klasörüne yükler. Bu klasörde, yüklenme tarihine göre, alt kalsörlerin url değerine şu şekilde ulaşılır:
$ortam_dosyalarinin_yuklendigi_klasor = wp_upload_dir();
$ortam_dosyalarinin_yuklendigi_klasor = $ortam_dosyalarinin_yuklendigi_klasor['url'];
?>
<?php if ( $resimlerin_dizisi ) { ?>
<div class="galeri yazi-id-<?php the_ID(); ?>">
<?php foreach ( $resimlerin_dizisi as $resim ) { ?>
<?php $meta_data = wp_get_attachment_metadata( $resim->ID, false ); ?>
<div class="resim">
<img src="<?php echo $ortam_dosyalarinin_yuklendigi_klasor.'/'.$meta_data["sizes"]["medium"]["file"]; ?>" />
</div><!-- /.resim -->
<?php } ?>
</div> <!-- /.galeri -->
<?php } ?>
<!-- /Yazı İçin Yüklenen Fotolardan bir Galari -->
<?php endwhile; ?>
<?php endif; ?>
Yavru Ortam Dosyaları ve Ebeveynleri
Bazen, get_posts() veya get_children() fonksiyonları, 'post_parent'
olarak belirttiğimiz içerikte resim görmemize rağmen, boş gelebilir veya içerikte gördüğümüzden daha fazla veya eksik resim getirebilir. Burada, önce şunu düşünmeliyiz: Bir içeriğin yavru resimleri demek, o içeriği düzenlerken, editör ile yüklediğimiz resimler demektir. Bu yüzden, bu fonksiyonlar, daha sonra o içerikten kaldırsak bile, kütüphaneden silmediğimiz sürece, yüklediğimiz bütün yavru resimleri getirirler. Aynı şekilde, içeriği düzenlerken, yüklemeden ortam kütüphanesinden seçtiğimiz resimleri de getirmezler. Çünkü kütüphaneden seçtiğimiz resimler, başka içerikler için yüklenmiş ve başka içeriklerin yavruları olan resimlerdir.
Kütüphanedeki bir resmin ebeveyni olan içeriği görmek için, Ortam->Kütüphane sayfasına giderek, o resme tıklamamız ve açılan sayfanın sağ kenarındaki bilgilerden “Yüklendiği yer” kısmına bakmamız yeterlidir:
1 yorum: “4.12 Ortam (Medya) Dosyaları”