• 22-04-2010, 11:44:39
    #1
    wordpress de 3 karakterden az olan etiketleri silme sql kodu yazabilen varmı.Yardımcı olurmusunuz.

    Bu şekil kodlar buldum bunlar değiştirilip birşey ortaya çıkartılabilinirmi_?

    DELETE a,b,c
    FROM
    wp_terms AS a
    LEFT JOIN wp_term_taxonomy AS c ON a.term_id = c.term_id
    LEFT JOIN wp_term_relationships AS b ON b.term_taxonomy_id = c.term_taxonomy_id
    WHERE (
    c.taxonomy = ‘post_tag’ AND
    
    *AND a.name =’tag1′ OR a.name = ‘tag2′ OR a.name= ‘tag3′a.name =’etiket1′ OR a.name = ‘etiket2‘ OR a.name= ‘etiket3‘
    
    )

    başka bir kod;

    $etiketler = array();
    $etiketler = get_terms('post_tag', 'hide_empty=0');
    $term_ids = array();
    foreach ($etiketler as $etiket) {
    $term_ids[] = $etiket->term_id;
    }
    wp_update_term_count_now( $term_ids, 'post_tag' );
    //Etiketlerin iliskili oldugu yazi
    //sayilarini g�ncelliyoruz.
    $etiketler = NULL;
    $etiketler = array();
    $etiketler = get_terms('post_tag', 'hide_empty=0');
    $term_ids = NULL;
    $term_ids = array();
    foreach ($etiketler as $etiket) {
    if ($etiket->count == 0) {
    //Yazı sayıları 0 olanları
    wp_delete_term( $etiket->term_id, 'post_tag');
    //Siliyoruz
    }
    }
  • 22-04-2010, 11:55:30
    #2
    Üyeliği durduruldu
    <?php
        include 'wp-config.php';
        $query = mysql_query("SELECT term_id,name FROM wp_terms");
        while($row = mysql_fetch_assoc($query))
        {
            $count = strlen($row['name']);
            if($count < 3)
            {
                $term_id = $row['term_id'];
                $mquery = mysql_query("DELETE FROM wp_terms WHERE term_id='".$term_id."'");
                echo $row['name'].' silindi<br/>';
            }
        }
    ?>
    ana dizine at çalıştır.
  • 22-04-2010, 11:59:32
    #3
    JustGo adlı üyeden alıntı: mesajı görüntüle
    <?php
        include 'wp-config.php';
        $query = mysql_query("SELECT term_id,name FROM wp_terms");
        while($row = mysql_fetch_assoc($query))
        {
            $count = strlen($row['name']);
            if($count < 3)
            {
                $term_id = $row['term_id'];
                $mquery = mysql_query("DELETE FROM wp_terms WHERE term_id='".$term_id."'");
                echo $row['name'].' silindi<br/>';
            }
        }
    ?>
    ana dizine at çalıştır.

    tşk ederim hemen deniyorum.
  • 22-04-2010, 12:01:20
    #4
    Üyeliği durduruldu
    eğer çalışırsa haber verirsen sevinirim
  • 22-04-2010, 12:02:17
    #5
    Üyeliği durduruldu
    Verdiğim kod çalışıyor, mantıklı geldi kendimde kullandım saçma sapan etiketleri sildim.
  • 22-04-2010, 12:11:17
    #6
    tşk ederim hocam oldu saol
  • 22-04-2010, 12:19:47
    #7
    bir sorun var wordpress panelinde hala silinmeyen etiket sayısı duruyor.Sayfalara gelince boş gösteriyo.
  • 22-04-2010, 12:20:35
    #8
    Üyeliği durduruldu
    osal adlı üyeden alıntı: mesajı görüntüle
    bir sorun var wordpress panelinde hala silinmeyen etiket sayısı duruyor.Sayfalara gelince boş gösteriyo.
    Anlamadım tam olarak örnek gösterek anlatırmısın bakalım çaresine.
  • 22-04-2010, 12:27:00
    #9
    JustGo adlı üyeden alıntı: mesajı görüntüle
    Anlamadım tam olarak örnek gösterek anlatırmısın bakalım çaresine.
    wordpress wp-admin paneline girince yazı etiketleri kısmı var 1 den 78. sayfaya kadar etiket vardı.Kodu çalıştırdım hala 1 den 78. ye kadar görülüyor ve 70. 71. sayfadan 78. ye kadar sayfalara girince sayfalar boş görünüyor.Etiketler silinmiş ama sayfalar boş içerisinde etiket yok.Normalde bu sayfaların kapanması gerekiyor.

    Birde ayrıca wp-admin paneline girince başlangıç kısmında 18 yazı 1 sayfa 1580 etiket yazıyor.Ama içerisinde 1580 etiket yok 1400 tane filan var silinenleride burdan düşmüyor.

    inşallah anlatabilmişimdir:S