Wordpress Temalarında Include Fonksiyonu

Wordpress | | 2 Mart 2008

Wordpress esnek tema yapısı nedeniyle birçok ayrıcalığı bizlere sunmakta. Bunun en güzel örneklerinden birisi de Php’nin include() fonksiyonundan yararlanarak mevcut temamız üzerinde dosya ve fonksiyon eklemeleri yapabilmemiz. include teriminin Türkçe’mize “içine katmak, dahil etmek” olarak çevirildiğini düşünürseniz ne demek istediğimi daha iyi anlarsınız.

Bu makalemizde kısa ve basit yöntemlerle hem varolan Wordpress include etiketlerini (include tag) kullanarak temamıza bir bölüm dahil etmeyi hem de temamıza aynı fonksiyonu kullanarak harici dosya eklemeyi göreceğiz. Bildiğiniz üzere Wordpress temalarında (kaynak kodları gözden geçiriniz) tanımlı olan header, sidebar, footer alanlarına ait kodlar defalarca yazılmaz. Bunun yerine aşağıdaki örnek kodlar temanın uygun dosyalarına koyularak atıfta bulunulur ve temanın bu dosyayı işlemesi sağlanır.

<?php get_header(); ?>
<?php get_footer(); ?>
<?php get_sidebar(); ?>

Bu yöntem ile gösterilen Wordpress sayfasında header, sidebar, footer gibi alanlar otomatik olarak gösterilmiş olur. Şayet dilersek bu kodları kaldırarak sayfamızı footer, sidebar veya header alanı olmadan da gösterime alabiliriz. get_header() fonksiyonu ile header.php dosyasının temamızın ilgili sayfasında gösterilmesini sağlarız.

Temanın stil dosyasının yazılışına da bağlı olarak bu tanımlı fonksiyonlar bir tema dosyasında sıralı olarak kullanılır. Önce temaya ait olan ve header.php dosyasına atıfta bulunan <?php get_header(); ?> fonksiyonu ve sırasıyla sidebar ve footer fonksiyonları kullanılır. Şayet temanızda kullanmış olduğunuz bu fonksiyonlara ait aynı isimli dosyalar bulunmazsa Wordpress otomatik olarak Default temanın ilgili dosyasını kendine referans olarak alır ve gösterime sokar.

Wordpress Temamıza Harici Dosya Eklemek
Yukarıda anlatmış olduğumuz fonksiyonlarla birlikte Wordpress temanıza harici bir dosyayı da koyabilir ve gösterime alabilirsiniz. Yine bir başka Php nimeti olan include fonksiyonu sayesinde bu işlem birkaç satır koddan ibaret. Örnek kodumuzu yazarak işlemin nasıl gerçekleştiğini görelim.

<?php include (TEMPLATEPATH . “/notlar.txt”); ?>

Bu kodda görmüş olduğunuz üzere tema klasörümde bulunan “notlar.txt” isimli dosyayı temamda istediğim bir alan içine gömebiliyorum. notlar.txt dosyasının içeriği temada koyduğum yere bağlı olarak görünecek ve yayına alınacak.

Dilerseniz Html, Php, Inc dosyalarınızı da bu yöntemle Wordpress temanız içine dahil edebilirsiniz. Gerek sabit kalmasını istediğiniz tema bölümlerinizde (hakkımızda, rss besleme alanları, arama gibi) gerekse de değişmesini istediğiniz alanlarda rahatlıkla bu yöntemi kullanabilirsiniz.

(Sitemin daha önceki versiyonlarında yer alan Kısa Kısa bölümlerini bu fonksiyon yardımıyla oluşturmuştum. Dilediğim zaman not.inc dosyamı düzenleyerek değişiklikleri anında siteme yansıtabiliyordum. Gerekli durumlarda Xhtml ve Css kodları da kullanarak ilgili alanı temam ile uyumlu hale getiriyordum)

Umarım sizler için faydalı olmuştur.

Kaynak: Codex / Include Tags

Rastgele Yazılar

Bu yazı , , , , kelimeleriyle etiketlenmiştir. Bu yazıyı beğendiyseniz Delicious, Twitter, Facebook gibi sitelerde paylaşabilirsiniz. Yazılarımızı düzenli olarak takip etmek içinse Rss abonemiz olabilirsiniz.

Wordpress Temalarında Include Fonksiyonu yazısı için 5 yorum yapılmış...

  1. Net ve Web diyor ki:

    Gerçekten güzel makale wolkancanın rasgele yazısını include edeceğim sayenizde :)

  2. Ozan diyor ki:

    tek tırnak olacak :

    şeklinde…

    http://codex.wordpress.org/Include_Tags

  3. Ozan diyor ki:

    diğer mesajda kod görünmedi :

    http://codex.wordpress.org/Include_Tags
    sayfasında
    Including Any Template
    kısmına bakarak örenk kodu görebilirsiniz ;)

  4. webthese diyor ki:

    Ozan haklısın tek tırnak olacak. Ama sanki böyle de fonksiyonu çalıştırdım gibi hatırlıyorum. Neyse biz yine de Codex ne diyorsa onu yapalım. Dikkatin için teşekkür ederim :)

  5. Ozan diyor ki:

    şimdide TEMPLATEPATH haricinde mesela root da olan bir sayfayı çekmem lazım include ile :S frame ile çok kötü oldu ; acaba nasıl yapabilirim bir fikri olan varmı ?

Yorumunuzu Yazın