• 24-02-2013, 18:09:30
    #1
    Merhaba arkadaşlar bu bot işine daha yeni bulaştım her şeyi çözdüm bir tek şu kategori olayını çözemedim.

    Bir tane film video botu yapıyorum film sitelerinde kategori sisteminde filmin türü demişler şu şekilde eklemişler.

    Tür: Aile, Animasyon, Yabancı 2012 Filmleri

    Ben burada kategorileri çekiyorum explode kullanarak virgüllerden ayırıyorum for döngüsüne sokup veritabanına kaydettirmek istiyorum ama olmuyor bunu nasıl yapabilirim daha önce yapmış arkadaşların yardımlarını bekliyorum.

    Yapmış olduğum işlemler şunlar.

    $kategoriler	= $_POST['kategori'];
    $katParcala	= explode(',',$kategoriler);
    $katSay	= count($katParcala);
    
    for($a=0; $a<$katSay; $a++){
    $insert_post['post_category'] = array($katParcala[$a]);
    }
    Bu şekilde kaydettirmek istediğimde sadece array dönüyor içerikler gelmiyor array ı kaldırım denediğimde bütün içerikler geliyor ama veritabanında sadece genel kategorisine kayıt ediliyor.

    Veya Aynı Admin Panelinde Olduğu Gibi Kategori Seçenek İmkanı Olsa Süper Olurdu.
  • 26-02-2013, 01:56:56
    #2
    Kimseden Cevap Gelmedi Peki Şu Şekilde Bir Kategori Sistemi Yapıp Seçtiklerimizi Veritabanına Ekletme İmkanımız Var mı? Günlerdir Arıyorum Bulamadım.

  • 26-02-2013, 10:26:47
    #3
    ilk sorunuza cevap vereyim ikincisine kod yazacak pek vaktim yok ilk sorunuza dönecek olursak
    wordpress te kategori eklerken kategori idine göre seçmelisiniz ayrıca explode etmenize gerek yok.örnek verecek olursak Aile (2), Animasyon ( 12 ), Yabancı 2012 Filmleri ( 22 )
    şeklindeyse yanındakiler id olduğunu varsayarak

    $insert_post['post_category'] = array(2,12,22);
    şeklinde yazacaksınız for döngüsünede gerek yok
    hepsini ekleyecektir
  • 26-02-2013, 15:37:22
    #4
    İlgilendiğin için saol hocam tarif ettiğin gibi yapmaya çalıştım ama yine olmadı.

    <?php
    $tax= mysql_query("select * from wp_term_taxonomy where taxonomy='category'");
    
    while($veri = mysql_fetch_array($tax)) 
    {
    $q2=mysql_query("Select * from wp_terms where term_id='$veri[term_id]'");
    $r2=mysql_fetch_array($q2);
    echo '<label><input name="kategori" type="checkbox" value="'.$veri[term_taxonomy_id].'" />'.$r2[name].'<label><br />';
    }
    ?>
    checkbox'ta Kategori seçtiğimde bir üstteki kategoriyi de seçiyor ortalık birbirine giriyor.

    Seçtiğim kategorileri veritabanına kaydetmiyor.
  • 26-02-2013, 16:03:39
    #5
    2. Sorunun cevabini ben de merak ediyorum. Epey arastirdim neticeye ulasamadim
  • 26-02-2013, 22:03:45
    #6
    By_MiLaT adlı üyeden alıntı: mesajı görüntüle
    ilk sorunuza cevap vereyim ikincisine kod yazacak pek vaktim yok ilk sorunuza dönecek olursak
    wordpress te kategori eklerken kategori idine göre seçmelisiniz ayrıca explode etmenize gerek yok.örnek verecek olursak Aile (2), Animasyon ( 12 ), Yabancı 2012 Filmleri ( 22 )
    şeklindeyse yanındakiler id olduğunu varsayarak

    $insert_post['post_category'] = array(2,12,22);
    şeklinde yazacaksınız for döngüsünede gerek yok
    hepsini ekleyecektir
    Üstat manuel olarak array(5,69,41,15); yazınca var olan kategoriler yüklüyor. Bunu formdan değişken atayıp post ettiğimde almıyor array($kategori); şeklinde olmuyor bunun nedeni ney acaba kaç gündür çözenedin delircem.
  • 26-02-2013, 23:17:06
    #7
    Kategorinizi array içine tekrar array ile sokmayın önce implode edin daha sonra $kategori değişkenine alıp işlem yapın.

    Kategorileri listemek için şu kodlar işinize yarayacaktır.

    	function wplistcatt(){
    
    		global $pref;
    		$pref = 'wp_';
    
    		$isimx="select * from ".$pref."term_taxonomy where taxonomy='category' and parent='0'";
    		$sorgu=mysql_query($isimx);
    		while($veri = mysql_fetch_array($sorgu))
    		{
    			$q2=mysql_query("Select * from ".$pref."terms where term_id='$veri[term_id]'");
    			$r2=mysql_fetch_array($q2);
    			echo "<option value='".$r2['term_id']."'>".$r2['name']."</option>";
    
    			$sorgumyeni="select * from ".$pref."term_taxonomy where taxonomy='category' and parent='$veri[term_id]'";
    			$xtsorgu=mysql_query($sorgumyeni);
    				while($veritoek = mysql_fetch_array($xtsorgu))
    				{
    
    				$q2tttt=mysql_query("Select * from ".$pref."terms where term_id='$veritoek[term_id]'");
    				$r2stst=mysql_fetch_array($q2tttt);
    				echo "<option value='".$r2stst['term_id']."'>".$r2stst['name']."</option>";
    
    				}
    		}
    	}
    İlgili fonksiyonum bu, kendinize göre editleyip html görünümünü kazandırabilirsiniz üst ve alt kategorileri çeker.

    Kodlarımı veriyorum ama sizde gelip bot piyasasında 10-15 tl ye bot satmayın :P
  • 26-02-2013, 23:25:54
    #8
    Şu şekilde yapın çalışacaktır

    <?php														 
    	$sor=mysql_query("select v1.term_id,v1.name from wp_terms v1,wp_term_taxonomy v2 where v1.term_id=v2.term_id  and v2.taxonomy='category' and v1.name<>'1' order by v1.name ");
    		$sat=mysql_num_rows($sor);
    			for ($say=0;$say<$sat;$say++){
    				$katid=mysql_result($sor,$say,"term_id");
    			    $katadi=mysql_result($sor,$say,"name");
    					echo '<label><input name="kategori[]" type="checkbox" value="'.$katid.'" />'.$katadi.'<label><br />';	
    			}
    													
    ?>
    Verilere ulaşmak için aşağıdeki işlemi yapın

    	foreach ($_POST['kategori'] as $kategoriler) {
    		echo $kategoriler.',';
    	}
  • 27-02-2013, 00:44:30
    #9
    Yok ustam yaa ne 10, 15tl ye bot yazması hayatta uğraşamam. Bir sürü iş güç var zaten neyse şimdi verdiğin kodları inceledim. Dediğini daha önce denemiştim yani implode etmiştim ama hala bir yerde bir sıkıntı var benim kullanım şeklimi yazayım birde sen incele.

    Burası Kategorileri Çektiğim ve Listelettiğim Kısım:
    <?php
    echo '<select name="kategori" size="40" multiple="multiple">';
    
    $tax= mysql_query("select * from wp_term_taxonomy where taxonomy='category'");
    while($veri = mysql_fetch_array($tax)) 
    {
    $q2=mysql_query("Select * from wp_terms where term_id='$veri[term_id]'");
    $r2=mysql_fetch_array($q2);
    echo '<option value="'.$veri[term_taxonomy_id].'">'.$r2[name].'</option>';
    }
    
    
    
    echo '</select>';
    ?>
    Burasıda Post Ettiğim Kısım:

    $kategori 	= $_POST['kategori'];
    $category	= implode(",",$kategori);
    $insert_post = array(
        'post_title' => $title,
        'post_content' => $content,
    	'post_excerpt' => $aciklama,
    	'tags_input' => $etiket,
        'post_status' => 'publish',
        'post_author' => 1,
        'post_type' => 'post',
        'post_category' => array($category)
    );
    Yukarıda ki Form da selecti multiple="multiple" olarak kullanıyorum ki birden fazla kategori yollayabileyim.

    --R10.NET; Flood Engellendi -->-> Yeni yazılan 27-02-2013 mesaj 00:44:30 -->-> Daha önceki 26-02-2013 mesaj 23:48:22 --

    By_MiLaT adlı üyeden alıntı: mesajı görüntüle
    Şu şekilde yapın çalışacaktır

    <?php														 
    	$sor=mysql_query("select v1.term_id,v1.name from wp_terms v1,wp_term_taxonomy v2 where v1.term_id=v2.term_id  and v2.taxonomy='category' and v1.name<>'1' order by v1.name ");
    		$sat=mysql_num_rows($sor);
    			for ($say=0;$say<$sat;$say++){
    				$katid=mysql_result($sor,$say,"term_id");
    			    $katadi=mysql_result($sor,$say,"name");
    					echo '<label><input name="kategori[]" type="checkbox" value="'.$katid.'" />'.$katadi.'<label><br />';	
    			}
    													
    ?>
    Verilere ulaşmak için aşağıdeki işlemi yapın

    	foreach ($_POST['kategori'] as $kategoriler) {
    		echo $kategoriler.',';
    	}
    Evet ustam anlattığını yaptım. id lerin hepsini çekiyor sıkıntı yok yalnız. veritabanına ekletmeye kalktığımda hata veriyor.

    Bu şekilde ekletmeye çalışıyorum.

    foreach ($_POST['kategori'] as $kategoriler) {  
    $insert_post['post_category'] = $kategoriler.','; 
    }
    Birde kategorileri listelerken çifter çifter listeliyor her kategoriden 2 şer tane çekiyo.