• 05-03-2010, 17:34:13
    #1
    Varolan herhangi bir Mysql veritabanını wordpress'e dönüştürme hakkında herhangi bir kaynak veya nasıl yapılabileceği konusunda bilgi sahibi olan arkadaş var mı ?
  • 05-03-2010, 17:35:03
    #2
    wp_insert_post ile wordpress e post ekleyebilirsin
    daha hızlı yöntemler vardır belki ama php den anlıyorsan biraz yapabilrsin
  • 13-03-2010, 00:50:56
    #3
    Malesef o kadar anlamıyorum. Varolan sql tabloda 3 adet alan var ( ID, Başlık, Yazı ) bunu wordpresse uyarlamam lazım ama nasıl , phpmyadminden var olan veritabanındaki alan isimlerini değiştirmeyi denedim ama beceremedim, sanırım var olan alan adlarını değiştirip boş wordpress veritabanına import etmem gerekiyor. Bu konuda yardımcı olabilecek kimse yok mu ?
  • 17-05-2010, 22:50:58
    #4
    Bu konuyu uzun zamandır araştırıyorum, türkçe doğru dürüst bir kaynak bulamadım,yabancı kaynaklardan bulduklarımla da bişeyler yapmaya çalıştım, veritabanını wordpresse uygun hale getirmeyi başardım, tablodaki alan adlarını değiştirip, wp_posts tablosundaki diğer sütun adlarını ekledim, ayarlarını yaptım çalıştı, mysql sorgusuyla bütün yazıları "draft" moduna aldım , forumda da paylaşılan "draft to publish" eklentisiyle de yazıları 1'er dk arayla yayınlamaya çalıştım fakat olmadı. phpmyadminden post_statusu "publish" yaptım yazılar yayınlandı fakat bu defa da etiketleri oluşturmadı, etiketler için functions.php ye yazı başlığıyla otomatik etiket oluşturması için kod eklemiştim. Taslak halindeki yazıları wp panelden hepsini seç deyip tekrar " taslak " seçip güncellersem etiketler oluşuyor ve eklenti düzgün çalışıyor o zaman. mysql sorgusuyla bu çevirdiğim başlıkları etiketleri de oluşacak şekilde , yani sanki wp panelden yazıları güncellemişim gibi. Bir yerde bi yanlış yapıyorum ama ne , büyük ihtimalle veritabanını tam anlamıyla wordpresse uyumlu hale getiremedim. Bunu da araştırdım üstteki arkadaşın da dediği gibi wp_insert_post ile veritabanını wordpresse uyarlama olayını denedim, bu kodları buldum :
    <?php
    require("include/connect.php");
    $conn =	mysql_connect($DBHost,$DBUser,$DBPass);
    mysql_select_db($DBName,$conn);
    
    $results = mysql_query("SELECT * FROM veri_cekilecek_tablo_adi", $conn);
    		              
    
    $i = 0;
    while ($row = mysql_fetch_array($results,MYSQL_ASSOC)) {
      $post = array();
      $post['post_status'] = 'publish';
      $post['post_category'] = array(1);
      $post['post_date'] = date('Y-m-d H:i:s',strtotime($row['post_date']));
      $post['post_title'] = $row['kelime'];
      $post['post_content'] = $row['anlam'];
      $posts[$i] = $post;
      $i++;
    }
    
    mysql_free_result($results);
    mysql_close($conn);
    
    require('./wp-load.php');
    
    foreach ($posts as $post) {
      wp_insert_post($post);
    }
    
    ?>
    bu çalıştı fakat veritabanındaki başlık sayısı çok fazla olduğu için zamanaşımı hatası verdi, veritabanındaki yazı sayısını 50 ye düşürüp denedim bu defa da türkçe karakter sorunu çıktı veritabanına eklenen yazılarda. Şimdi öğrenmek istediğim şey ben bu kodlarla binlerce başlık olan veritabanındaki yazıları etiketleri de otomatik oluşturacak şekilde ve taslak modunda wordpresse ekleyebilir miyim , ekleyebilirsem nasıl yaparım, türkçe karakter sorununu nasıl çözerim, veya söylediğim özellikteki bir veritabanından yani başka siteden değil, kendi sahip olduğum başka bir veritabanından (id, kelime, anlam) veri çekerek bunu otomatik olarak wordpresse taslak modunda veya kontrol bekliyor modunda etiketlerini de oluşturacak, yazı ekleyecek basit bir bot yapılabilir mi ?
  • 17-05-2010, 22:59:06
    #5
    <?php
    require("include/connect.php");
    $conn =    mysql_connect($DBHost,$DBUser,$DBPass);
    mysql_select_db($DBName,$conn);
    
    $results = mysql_query("SELECT * FROM veri_cekilecek_tablo_adi", $conn);
                          
    
    $i = 0;
    while ($row = mysql_fetch_array($results,MYSQL_ASSOC)) {
      $post = array();
      $post['post_status'] = 'publish';
      $post['post_category'] = array(1);
      $post['post_date'] = date('Y-m-d H:i:s',strtotime($row['post_date']));
      $post['post_title'] = $row['kelime'];
      $post['post_content'] = $row['anlam'];
      $post['tags_input'] = $buraya_tag;
      $posts[$i] = $post;
      $i++;
    }
    
    mysql_free_result($results);
    mysql_close($conn);
    
    require('./wp-load.php');
    
    foreach ($posts as $post) {
      wp_insert_post($post);
    }
    
    ?>
    Edit:
    Zaman aşımını set_time_limit kullanarak aşabilirsin.
  • 17-05-2010, 23:28:33
    #6
    Hocam tamam draft kısmını zaten mysqlden sorguyla değiştirebiliyorum , içeriğim aynen kodlarda da gösterdiğim ve daha önceki mesajımda söylediğim gibi varolan veritabanı 3 sütundan oluşuyor (id, kelime, anlam) , içerik budur, wp ile sözlük sitesi yapıyorum, oluşturmak istediğim etiketler de (kelime, kelime nedir, kelime ne demek vs..) bunun gibi , bunu temanın functions.php sine eklediğim kodla otomatik olarak oluşturuyor zaten, yazıları draft seçmek istememin sebebini de yazdım eklentiyle 1 dkda bir başlık açılsın diye.
  • 17-05-2010, 23:37:20
    #7
    ozoozo adlı üyeden alıntı: mesajı görüntüle
    Hocam tamam draft kısmını zaten mysqlden sorguyla değiştirebiliyorum , içeriğim aynen kodlarda da gösterdiğim ve daha önceki mesajımda söylediğim gibi varolan veritabanı 3 sütundan oluşuyor (id, kelime, anlam) , içerik budur, wp ile sözlük sitesi yapıyorum, oluşturmak istediğim etiketler de (kelime, kelime nedir, kelime ne demek vs..) bunun gibi , bunu temanın functions.php sine eklediğim kodla otomatik olarak oluşturuyor zaten, yazıları draft seçmek istememin sebebini de yazdım eklentiyle 1 dkda bir başlık açılsın diye.
    Hocam tam yapmak istediğin nedir?
  • 17-05-2010, 23:37:49
    #8
    Üyeliği durduruldu
    Yeni mesaj yazıcam diye yanlışlıkl bir önceki mesajımı düzenledim o yüzden sildim. Konuya gelince...

    Etiketleri oluşturalım tamam da senin içeriğin ne? bu dbden çektiğin içeriğin türü ne ona göre otomatik etiket oluşturup ekletmek lazım. Draft için publish kısmını draft yapman yeterli.

    Aşşağıdaki kodu dene olmayan neyse söyle bakalım

    <?php
    require("include/connect.php");
    $conn =    mysql_connect($DBHost,$DBUser,$DBPass);
    mysql_select_db($DBName,$conn);
    
    $results = mysql_query("SELECT * FROM veri_cekilecek_tablo_adi", $conn);
                          
    
    $i = 0;
    while ($row = mysql_fetch_array($results,MYSQL_ASSOC)) {
      $ow = $row['kelime'];
      $tags = "$ow anlami, $ow ne demek, $ow nasıl yazılır, $ow sözlük";
      $post = array();
      $post['post_status'] = 'draft';
      $post['tags_input'] = $tags;
      $post['post_category'] = array(1);
      $post['post_title'] = $row['kelime'];
      $post['post_content'] = $row['anlam'];
      $posts[$i] = $post;
      $i++;
    }
    
    mysql_free_result($results);
    mysql_close($conn);
    
    require('./wp-load.php');
    
    foreach ($posts as $post) {
      wp_insert_post($post);
    }
    
    ?>
  • 18-05-2010, 00:02:44
    #9
    mrtoxic adlı üyeden alıntı: mesajı görüntüle
    Hocam tam yapmak istediğin nedir?
    JustGo adlı üyeden alıntı: mesajı görüntüle
    Yeni mesaj yazıcam diye yanlışlıkl bir önceki mesajımı düzenledim o yüzden sildim. Konuya gelince...

    Etiketleri oluşturalım tamam da senin içeriğin ne? bu dbden çektiğin içeriğin türü ne ona göre otomatik etiket oluşturup ekletmek lazım. Draft için publish kısmını draft yapman yeterli.

    Aşşağıdaki kodu dene olmayan neyse söyle bakalım

    <?php
    require("include/connect.php");
    $conn =    mysql_connect($DBHost,$DBUser,$DBPass);
    mysql_select_db($DBName,$conn);
    
    $results = mysql_query("SELECT * FROM veri_cekilecek_tablo_adi", $conn);
                          
    
    $i = 0;
    while ($row = mysql_fetch_array($results,MYSQL_ASSOC)) {
      $ow = $row['kelime'];
      $tags = "$ow anlami, $ow ne demek, $ow nasıl yazılır, $ow sözlük";
      $post = array();
      $post['post_status'] = 'draft';
      $post['tags_input'] = $tags;
      $post['post_category'] = array(1);
      $post['post_title'] = $row['kelime'];
      $post['post_content'] = $row['anlam'];
      $posts[$i] = $post;
      $i++;
    }
    
    mysql_free_result($results);
    mysql_close($conn);
    
    require('./wp-load.php');
    
    foreach ($posts as $post) {
      wp_insert_post($post);
    }
    
    ?>
    Hocam ilginiz için ikinize de teşekkür ederim en başta, yapmak istediğimi diğer mesajlarda da söyledim, elimde binlerce kelimeden oluşan bir sözlük veritabanı var, wp ile sözlük sitesi yapmak istiyorum, bunun için de veritabanını wp'ye uyumlu hale getirmem lazım. Daha önce veritabanını wp_post tablosundaki sütun isimlerini ekleyerek çalıştırdım wp de. Kullanacağım temaya otomatik etiket eklemesi için fonksiyon ekledim buraya kadar herşey doğru çalışıyor, deneme amacıyla kelime sayısı az bir veritabanı kullanmıştım. Fakat kelime sayısı binlerce olduğu için, başlıkları otomatik olarak taslak şeklinde wp'ye kaydetmek istiyorum ve "draft to publish" eklentisiyle de 1 dk arayla 1 başlık açılmasını istiyorum. Eklenti manuel olarak sorguyla "draft" hale getirdiğim başlıkları yayınlamıyor, çünkü taslak kısmında da etiket falan oluşmuyor manuel yapınca. Yazıların düzgün ve zamanında yayınlanabilmesi için insert post ile eklenmesi gerekiyor sanırım, biraz önce verdiğiniz kodlarla denedim , başlıkları ekledi ve temadaki gibi etiketleri oluşturdu fakat bu defa da türkçe karakter sorunu çıktı, türkçe karakterleri soru işareti şeklinde ekliyor ve sanırım serveri da yoruyor. Kısacası şöyle diyeyim bu veritabanlarını sorun yaşamadan wp'ye uyumlu hale nasıl getirebilirim? Sadece insert post ile mi olur, bunun için başka bir yol bulamaz mıyım ?