• 02-06-2016, 15:59:54
    #10
    Misafir adlı üyeden alıntı: mesajı görüntüle
    $source değişkeninde referrer urller var.

    Kontrolü title'dan çıkan alias'a(url) göre kontrol etmenizi öneririm. Ayrıca yazıları kaydederken post_meta eklemiyorsunuz ki. O yüzden ilk başta kontrol kısmında sıkıntı çıkıyor.

    Url alias olarak kontrol etmek isterseniz en başa şu fonksiyonu ekleyin ;
    function url_baslik_yarat($baslik = "") {
    	$TR = array(
    		'ç','Ç','ı','İ','ş','Ş','ğ','Ğ','ö','Ö','ü','Ü','I'
    		);
    	$EN = array(
    		'c','c','i','i','s','s','g','g','o','o','u','u','i'
    		);
    	$baslik = str_replace($TR, $EN, $baslik);
    	//$baslik = mb_strtolower($baslik, 'UTF-8');
    	$baslik = strtolower($baslik);
    	$baslik = preg_replace('#[^-a-zA-Z0-9_ ]#', '', $baslik);
    	$baslik = trim($baslik);
    	$baslik = preg_replace('#[-_ ]+#', '-', $baslik);
    	return $baslik;
    }
    Altına bu kodu ekleyin.
    $urlalias = url_baslik_yarat($yaziisim);

    Burayı
    $kontrolet = mysql_num_rows(mysql_query("SELECT * FROM wp_postmeta WHERE meta_value='$source'"));
    Şu şekilde değiştirin ;
    $kontrolet = mysql_num_rows(mysql_query("SELECT * FROM wp_postmeta WHERE meta_key = 'botkontrol' AND meta_value='$urlalias'"));
    $postid = wp_insert_post($my_post);
    bu kodun sonrasına aşağıda kodu ekleyin.
    add_post_meta($postid, 'botkontrol', $urlalias, true);
    Büyük ihtimal çalışacaktır.
  • 02-06-2016, 16:16:30
    #11
    @aTKn94;

    Hocam source diye postmeta altında kayıt yapıyor. Eğer source kısmında o url varsa ekleme. Yoksa ekle şeklinde yapmak istiyorum. Ek olarak bir de botkontrol diye postmeta eklemeye gerek var mı ki?

    --R10.NET; Flood Engellendi -->-> Yeni yazılan mesaj 16:16:30 -->-> Daha önceki mesaj 16:14:51 --

    hyPerdarKness adlı üyeden alıntı: mesajı görüntüle
    sorgu da meta_value olarak belirttiğiniz sütunun içindeki değerler benzersiz mi? benzersiz ise sıkıntı olmaması lazım benzersiz değil ise benzersiz olan bir sütun ile değişmeniz gerekir
    otomatik olarak benzersiz zaten sanırm hocam. şimdi tekrardan benzersiz yapmak isteyince hata verdi.

    #1170 - BLOB/TEXT column 'meta_value' used in key specification without a key length
  • 02-06-2016, 16:24:10
    #12
    Misafir adlı üyeden alıntı: mesajı görüntüle
    @aTKn94;

    Hocam source diye postmeta altında kayıt yapıyor. Eğer source kısmında o url varsa ekleme. Yoksa ekle şeklinde yapmak istiyorum. Ek olarak bir de botkontrol diye postmeta eklemeye gerek var mı ki?

    --R10.NET; Flood Engellendi -->-> Yeni yazılan mesaj 16:16:30 -->-> Daha önceki mesaj 16:14:51 --



    otomatik olarak benzersiz zaten sanırm hocam. şimdi tekrardan benzersiz yapmak isteyince hata verdi.

    #1170 - BLOB/TEXT column 'meta_value' used in key specification without a key length
    source diye post meta varsa tekrardan post_meta eklemeye gerek yok hocam. Aslında bu şekilde çalışması gerek.

    Şu şekilde dener misiniz. wp-load'ı dahil ederken tam yolu yazmayı unutmayın.

    require("wp-load.php");
    global $wpdb;
    
    $kontrol = $wpdb->get_var("SELECT COUNT( * ) FROM $wpdb->postmeta WHERE meta_value='".$source."'");
    if ($kontrol == 0){
    {     
       $my_post = array();
       $my_post['post_title']    = $yaziisim;
       $my_post['post_content']  = $content;
       $my_post['post_status']   = 'publish';
       $my_post['post_author']   = 1;
       $my_post['post_category'] = array(1);
       $postid = wp_insert_post($my_post);
           
       if($postid)
       {     
          if(copy($photo, "resimler/$rename))
          add_post_meta($postid, "resim", $resimLink);
          add_post_meta($postid,"kaynak",$source);
          echo "$yaziisim başarıyla eklendi.<br />";
       }
       else
       {
          echo "$yaziisim eklenemedi.<br />";
       }
    }
    else
    {
          echo "$yaziisim daha önceden eklenmiş.<br />";
    }
  • 02-06-2016, 16:29:12
    #13
    $kontrol=$wpdb->query("SELECT * FROM ".$table_prefix."posts WHERE post_title='$mKonuBaslik'");
    if(!$kontrol){
    //kayıt işlemi için gerekli olan kodlar gelecek
    }
    bu şekilde yapabilirsin tüm projelerimde bu kodu kullanıyorum. kolay gelsin

    $mKonuBaslik değişkenine başlık gelecek. sorgunun amacı aynı başlıktaki değerlere göre işlem yapar.
  • 02-06-2016, 16:34:07
    #14
    aTKn94 adlı üyeden alıntı: mesajı görüntüle
    source diye post meta varsa tekrardan post_meta eklemeye gerek yok hocam. Aslında bu şekilde çalışması gerek.

    Şu şekilde dener misiniz. wp-load'ı dahil ederken tam yolu yazmayı unutmayın.

    require("wp-load.php");
    global $wpdb;
    
    $kontrol = $wpdb->get_var("SELECT COUNT( * ) FROM $wpdb->postmeta WHERE meta_value='".$source."'");
    if ($kontrol == 0){
    {     
       $my_post = array();
       $my_post['post_title']    = $yaziisim;
       $my_post['post_content']  = $content;
       $my_post['post_status']   = 'publish';
       $my_post['post_author']   = 1;
       $my_post['post_category'] = array(1);
       $postid = wp_insert_post($my_post);
           
       if($postid)
       {     
          if(copy($photo, "resimler/$rename))
          add_post_meta($postid, "resim", $resimLink);
          add_post_meta($postid,"kaynak",$source);
          echo "$yaziisim başarıyla eklendi.<br />";
       }
       else
       {
          echo "$yaziisim eklenemedi.<br />";
       }
    }
    else
    {
          echo "$yaziisim daha önceden eklenmiş.<br />";
    }
    çok teşekkür ederim hocam şimdi oldu. artıladım.
    • aTKn94
    aTKn94 bunu beğendi.
    1 kişi bunu beğendi.
  • 02-06-2016, 16:34:39
    #15
    Misafir adlı üyeden alıntı: mesajı görüntüle
    çok teşekkür ederim hocam şimdi oldu. artıladım.
    Rica ederim hocam kolay gelsin. İyi akşamlar