23 Mayıs 2009

Siteye Giris Sayfası (Intro) Ekleme

WordPress Yorum Ekle

WordPress sitemize girildiğinde öncelikle bir giriş (intro) sayfasını gösterip, ardından da sayfadaki bağlantıya tıklandığında ziyaretçinin ana sayfamıza gitmesini isteyebiliriz. Gerçi bu yöntemi kullanmak artık tarih oldu ama hala bunu yapmak isteyenler olabiliyor. Çoğu yerde bununla ilgili olarak giriş sayfasının adını index.html olarak değiştirip, sitenin ana klasörüne kaydedilmesi öneriliyor. Bu gerçekten işe yarar bir yöntem olsa da bazı sunucularda problem yaratabilir. Şöyle ki WP'deki adresler ?p=xx şeklindedir. Bu nedenle gönderilen parametreler index.php yerine index.html dosyasına gönderilebilir, dolayısıyla da sürekli olarak giriş sayfası gelebilir. Bu nedenle bu işi yapan alternatif bir yöntem de benden olsun.

Oturum (Session) Kullanarak Kontrol

Bildiğiniz gibi ziyaretçi bir siteye girdiğinde o ziyaretçi için bir oturum açılır. PHP ile ziyaretçi için oturum değişkenleri tanımlayabiliriz. Bu değişkenler sitenin her yerinde ulaşılabilirdirler. Ne zamanki ziyaretçi siteyi terkeder o zaman bu değişkenler yok edilirler.
Bu yöntemde sitemizin açılışı esnasında bir oturum değişkeninin varlığını kontrol edeceğiz, eğer değişken tanımlı değilse ziyaretçi sitemize yeni gelmiş demek olacak ve biz bu değişkeni oluşturup, ziyaretçiyi giriş sayfamızı oluşturan intro.htm dosyasına yollayacağız. Bu giriş sayfası içerisine eklediğimiz, index.php dosyasına ait bağlantıya tıklandığında ise kullandığımız oturum değişkeni artık var olduğundan sitemiz normal işleyişine devam edecektir.
Aşağıdaki kodları temanızın Tema Fonksiyonları (functions.php) dosyasına uygun şekilde ekleyin. Giriş sayfası olarak kullanacağınız dosyanın adı da intro.htm olsun ve içerisinde mutlaka sitemize ait bir bağlantı olsun. Kod içerisindeki adresi de sitenize göre değiştirmeyi unutmayınız.

  1. function intro_kontrol_oturum() {
  2. session_start();
  3. if ( !isset( $_SESSION['introgec'] ) ) {
  4. $_SESSION['introgec'] = 'ok';
  5. header('Location: http://www.siteadresiniz.com/intro.htm');
  6. }
  7. }
  8. add_action('init', 'intro_kontrol_oturum');

Bu yöntemde ziyaretçi sitemize her girdiğinde önce giriş sayfamız görüntülenecek, ziyaretçi Giriş bağlantısına tıkladığında da sitemizin ana sayfasına ulaşacak.

Çerez (Cookie) Kullanarak Kontrol

Oturum kontrollü yöntemde ziyaretçi siteye her girdiğinde giriş sayfası görüntülenmektedir. Eğer istediğiniz ziyaretçinin ilk ziyaretinde giriş sayfasını göstermek, sonraki girişlerinde ise doğrudan site ana sayfasına ulaşmasını istiyorsanız bu işi en iyi çerezlerle (cookie) yapabiliriz.
Aşağıdaki kodları temanızın Tema Fonksiyonları (functions.php) dosyasına uygun şekilde ekleyin. Kod içerisindeki dosya adresini kendinize göre düzenlemeyi unutmayın. Çerezler istenilen kadar süre ziyaretçinin bilgisayarında tutulabilirler. Bu süre kodlarda 365 gün olarak tanımlıdır. Değerlerle oynayarak süreyi ayarlayabilirsiniz. Belirtilen süre sonunda çerez silineceğinden, ziyaretçi tekrar sitemizi ziyaret ederse, giriş sayfasını yeniden görecektir.

  1. function intro_kontrol_cerez() {
  2. if ( !isset( $_COOKIE['introgec'] ) ) {
  3. setcookie('introgec', 'ok', time() + 60 * 60 * 24 * 365);
  4. header('Location: http://www.siteadresiniz.com/intro.htm');
  5. }
  6. }
  7. add_action('init', 'intro_kontrol_cerez');

Bu arada fonksiyon içerisindeki kodları temanızın header.php dosyasının başına uygun şekilde eklerseniz de aynı sonuca ulaşırsınız. Kodları WP 2.7.1 sürümünde denedim işe yarıyor. Çerezli yöntemde ilk girişten sonra tekrar giriş sayfasını görmek için tarayıcınızdan çerezleri silmeniz gerektiğini unutmayın.


Bu yazının kısa bağlantısı http://www.yakupgovler.com/?p=863.

Yazılarımı RSS aboneliği ile takip edebilir, yeni yazılarıma kolaylıkla ulaşabilirsiniz. Bunun için ise RSS adresimi kullanabilirsiniz.


“Siteye Giris Sayfası (Intro) Ekleme” yazısı için 10 Yorum

Bu yazıya yapılan yorumları dilerseniz, ( RSS 2.0 ) beslemesini kullanarak takibe alabilirsiniz.

  1. ismail su dedi ki:

    🙂
    Bir süre önce kendi bloğumda intro için kullandığım kocakarı yönteminin fonksiyona uyarlanmış hali. Ziyaretçilerimi periyodik olarak bir intro ile karşılamak hoşuma gidiyor ama WP'nin adres satırından gönderdiği bilgiler de diğer yandan sorun yaratıyor. Bu çözümü kesinlikle siteme ekleyeceğim Yakup hocam.

    WP konusundaki ilerleyişiniz gerçekten taktire değer. Kısa sürede çok pratik ve etkili çözümler üretiyor, eklentiler yazıyorsunuz.Sağolun.

  2. Yakup Gövler dedi ki:

    Sayın Hocam,
    İltifatlarınız için teşekkürler. DesenBlog'daki gelişmeleri takip ediyorum, bir ilke imza attığınız için de tebrik ediyorum.

  3. Eylos dedi ki:

    Dediğin gibi introlar trih oldu ama yinede marka, imaj, görsellik ve reklam amçlı kullanan çıkabilir.

  4. Siteye Giris Sayfası Ekleme | dedi ki:

    [...] Yakupgovler.com Join the forum discussion on this post - (1) Mesaj WordPress kategorisinde.. | Etiketler: [...]

  5. Wordpress’e Yeni Yaklaşımlar | Sinerjik Günlük dedi ki:

    [...] Siteye Giriş Sayfası Ekleme: WordPress blogunuz için ayrıca bir giriş (intro) sayfası hazırlayabilirsiniz. [...]

  6. Ümit dedi ki:

    Paylaşımınız İçin Çok Teşekkür ederim. Artık Sıklıkla Sitenizi Takip edeceğim...

  7. murat dedi ki:

    hocam size bir şey danışmak istiyorum
    siteye intro ekleyebiliyoruz peki ben intro değilde anasayfada sadece bir tane div tagını göstermek bir kez görecekler sonra bir daha görmeyecekler bunu yazmış olduğunuz kod ile nasıl derleriz

    lütfen yardımcı olun hocam

  8. murat dedi ki:

    hocam lütfen acil yardım bekliyorum
    sizi ugraştırmayacak birşey ise dönüş yapabilirmisiniz

    sadece ilk siteye girişte bir kez div tagını göstersin bir daha göstermesin istiyorum

  9. Yakup Gövler dedi ki:

    @murat, aşağıdaki gibi bir kodu kendinize uyarlayarak kullanabilirsiniz.

    < ?php if ( !isset( $_COOKIE['divgoster'] ) ) { ?>

    Göstermek istediğiniz div içeriği

  10. murat dedi ki:

    çok tşkler hocam