Yazı içine reklam eklemek…

Yazılarımızdan önce veya sonra reklam ekleyebiliyoruz. Bunu yapan eklentiler ve fonksiyonları da kullanabiliyoruz. Ama uzun yazı yazıyorsak bu yazıların arasına da reklam eklemek istiyorsak ne olacak? Bu sorun aslında çok basit bir şekilde çözülebilir. Size lazım olan ise Google veya başka bir reklam sistemine ait reklam kodunuz ve aşağıda sizlerle paylaştığım fonksiyon. Aşağıdaki fonksiyon 1000 karakterlik bir yazıda işleme geçiyor. Tabii isterseniz bu karakter sayısını değiştirebiliyorsunuz.

Kod

Bu kod ile birlikte temanızın içinde bulunan functions.php dosyasını düzenleyeceğiz. Bu temanızın ve WordPress sisteminin düzgün çalışabilmesi için gerekli olan bir dosya olduğundan, işlemden önce lütfen yedek alınız. functions.php wp-content/themes/temanizin-adi/ klasöründe bulunur.
function belli_karakter_sonrasi_reklam($content) {
  // Reklamı sadece 1000 karakterlik yazı olursa ekle
  $yazi_uzunlugu = 1000;
  // </p> etiketini ilk 500 karakter sonrası ekle
  $az_karakter = 500;
  if (is_single() && strlen($content) > $yazi_uzunlugu) {
    $before_content = substr($content, 0, $az_karakter);
    $after_content = substr($content, $az_karakter);
    $after_content = explode('</p>', $after_content);
    $text = '
      <!-- REKLAM KODUNU EKLEYİN -->
    ';
    array_splice($after_content, 1, 0, $text);
    $after_content = implode('</p>', $after_content);
    return $before_content . $after_content;
  }
  else {
    return $content;
  }
}
add_filter('the_content', 'belli_karakter_sonrasi_reklam');

Yukarıdaki kodu temanızın içinde bulunan functions.php dosyasının en altına ?> satırında önce ekleyin. Sonra sırasıyla şu değişiklikleri yapabilirsiniz.
$yazi_uzunlugu : Bu alan yazının en az kaç karakter barındırmasını gerektiğine karar verdiğiniz alan. Ben 1000 karakter olarak düzenledim. Siz daha düşün ya da yazınızı uzun tutuyorsanız daha yüksek bir rakam ekleyebilirsiniz.
$az_karakter : Yazı uzunluğunun yarısı olması gerekiyor normalde. Bu sayıdaki karaktere gelindiğinde bir paragraf kapatma etiketi atarak reklam kodunuzun eklenmesinde rol oynuyor.
REKLAM KODUNU EKLEYİN : BU alana reklam kodunuzu ekleyeceksiniz. Ama dikkat etmeniz gereken birşey var. PHP kodları içerisinde kodu ekleyeceğimiz için, reklam kodu içerisinde yer alan tek tırnak () tanımlamaları kodu bozacaktır. Yani tanımlamaları çift tırnak () içinde yapmalıyız. Örnek olarak aşağıda belirttim.

$text = ' <script type='text/javascript' src='http://abc.js'> ';
// Bu şekilde yapıldığında kod hata verecektir.
$text = ' <script type="text/javascript" src="http://abc.js"> ';
// Bu şekilde yapıldığında kodda bir sıkıntı olmayacaktır

Herhangi soru/sorun ve eklemek istediğiniz şeylerde yorum bırakırsanız sevinirim.

Güncelleme: Paragraf etiketi yoksa nasıl olacak?

Hüseyin Uslu’nun şuradaki sorusuna istinaden anlatıyorum.

Yukarıdaki kod içerisinde karakterleri bölmek için paragraf kapatma ve açma etiketlerini arıyorduk. Aşağıdaki kodda ise istenen karakter sayısını bulduğumuz gibi direkt kodu ekliyoruz. Bunun için yapmamız gereken şey explode(), array_splice() gibi ayrım yaptığımız fonksiyonları etkisiz hale getirmek ve direkt olarak substr() ile bölmüş olduğumuz yazının içerisine reklam kodumuzu eklemek. Aşağıdaki fonksiyonda REKLAM İÇERİĞİ yazan alana kendi text veya Adsense yada herhangi bir reklam sağlayıcısından aldığınız kodu ekleyebilirsiniz.


function belli_karakter_sonrasi_reklam($content) {
  // Reklamı sadece 1000 karakterlik yazı olursa ekle
  $yazi_uzunlugu = 1000;
  $az_karakter = 400;
  if (is_single() && strlen($content) > $yazi_uzunlugu) {
    $before_content = substr($content, 0, $az_karakter);
    $after_content = substr($content, $az_karakter);
    $text = 'REKLAM İÇERİĞİ';
    return $before_content . $text.  $after_content;
  }
  else {
    return $content;
  }
}
add_filter('the_content', 'belli_karakter_sonrasi_reklam');

Selametle

13 thoughts on “Yazı içine reklam eklemek…”

  1. benim yazılarım düz yazı değil, paragraf veya kodu kullanılmamakta, bu yüzden verdiğiniz kod reklamı ya En başta gösteriyor, yada En altta.. sorunum şu karakter ayarlaması ile uğraşmadan konu içerisinde direkt bi reklam yayınlamak mümkün müdür? bu bir text yazıda olabilir ?

    1. Hüseyin bir iki dakika içinde fonksiyonu güncelleyip kullanımını yazının içine aktarıyorum. Basit mantıkta paragraf etiketlerine bakmadan ayrım yapacağız.

  2. Sayfaların içine resim ekliyorum, o resimlerin altına yani resim kodlarının bittiği yere reklam ekleme mümkün mü?

    Resmin bittiği yerden içeriği bölüp (resmin bitiş koduna göre bölme işleminde alınacak parçanın numarası değişebilir) devamındaki yazı ile arasına resim ekleme şeklinde

    1. Merhaba selman,

      Sanırım bu düşünce olur. Kodu az birşey değiştirmen gerekmekte. preg_replace() fonksiyonu ile img etiketini bulup sonrasına ekleyebilen bir fonksiyon yazılabilir. Yarın ya da en geç pazartesi bununla ilgili bir yazı eklerim siteye.

  3. Merhaba Hocam

    Şöyle birşey yapmamız mümkün mü, reklamı belirlediğimiz satırda gösterebilirmiyiz. örnedğin 5. satırda, şiir içeriğim var o yüzden belirli bir satırda göstermem gerekli.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir