• 12-10-2024, 02:05:04
    #1
    Merhaba arkadaşlar kategorileri tek tek seçmek yerine etiket gibi toplu seçebilir miyiz? Örneğin komik,genel,belgesel,spor bunu etiket ekleye yapıştırdığımıza 4 etiketi ayrı ayrı ekliyor içeriğe ama kategoriye eklemek için tek tek seçmek gerekiyor seçmeden bunu yapıştırıp direk 4 kagetoriyi seçme şansımız varmı acaba? Yardımlar için şimdiden teşekkürler.
  • 12-10-2024, 02:29:07
    #2
    Kimlik doğrulama veya yönetimden onay bekliyor.
    function add_all_categories_to_posts() {
        // Tüm kategorileri al
        $categories = get_categories( array(
            'hide_empty' => 0,
        ));
    
        // Kategori ID'lerini bir diziye kaydet
        $category_ids = array();
        foreach ( $categories as $category ) {
            $category_ids[] = $category->term_id;
        }
    
        // Tüm yazıları al
        $args = array(
            'post_type' => 'post',
            'posts_per_page' => -1, // Tüm yazıları al
            'post_status' => 'publish'
        );
        $posts = get_posts( $args );
    
        // Her yazı için tüm kategorileri ekle
        foreach ( $posts as $post ) {
            wp_set_post_categories( $post->ID, $category_ids, false );
        }
    }
    add_action( 'init', 'add_all_categories_to_posts' );
  • 12-10-2024, 12:54:03
    #3
    Peace adlı üyeden alıntı: mesajı görüntüle
    function add_all_categories_to_posts() {
        // Tüm kategorileri al
        $categories = get_categories( array(
            'hide_empty' => 0,
        ));
    
        // Kategori ID'lerini bir diziye kaydet
        $category_ids = array();
        foreach ( $categories as $category ) {
            $category_ids[] = $category->term_id;
        }
    
        // Tüm yazıları al
        $args = array(
            'post_type' => 'post',
            'posts_per_page' => -1, // Tüm yazıları al
            'post_status' => 'publish'
        );
        $posts = get_posts( $args );
    
        // Her yazı için tüm kategorileri ekle
        foreach ( $posts as $post ) {
            wp_set_post_categories( $post->ID, $category_ids, false );
        }
    }
    add_action( 'init', 'add_all_categories_to_posts' );
    Bu kodu eklediğimde içeriklerim komple tüm kategorileri eklemiş oldu benim istediğim bu değilki, başka bir sitemden elle içeriklerimi başka domaine ekliyorum hızlı eklemek için Kategoriler: komik,genel,belgesel,spor şunu kopyalayıp kategorileri tek tek seçmeden eklemeyi kastetmiştim.
  • 12-10-2024, 16:33:27
    #4
    myclub adlı üyeden alıntı: mesajı görüntüle
    Bu kodu eklediğimde içeriklerim komple tüm kategorileri eklemiş oldu benim istediğim bu değilki, başka bir sitemden elle içeriklerimi başka domaine ekliyorum hızlı eklemek için Kategoriler: komik,genel,belgesel,spor şunu kopyalayıp kategorileri tek tek seçmeden eklemeyi kastetmiştim.
    function otomatik_kategoriler_ekle($post_id) {
        // Eğer bu bir otomatik taslak ise, işlemi sonlandır (taslak sırasında işlem yapılmaz).
        if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) {
            return;
        }
    
        // Eğer bu yazı tipi 'post' değilse işlem yapılmaz (örn. sayfa ya da başka özel yazı tipleri varsa).
        if (get_post_type($post_id) !== 'post') {
            return;
        }
    
        // Tüm kategorileri al
        $kategoriler = get_categories(array('hide_empty' => 0));
    
        // Kategori ID'lerini dizi olarak al
        $kategori_ids = array();
    
        foreach ($kategoriler as $kategori) {
            $kategori_ids[] = $kategori->term_id;
        }
    
        // Yazıya tüm kategorileri ekle
        wp_set_post_categories($post_id, $kategori_ids, true); // true parametresi, mevcut kategorilere ekleme yapar, üzerine yazmaz.
    }
    
    add_action('save_post', 'otomatik_kategoriler_ekle');
  • 12-10-2024, 19:40:15
    #5
    Peace adlı üyeden alıntı: mesajı görüntüle
    function otomatik_kategoriler_ekle($post_id) {
        // Eğer bu bir otomatik taslak ise, işlemi sonlandır (taslak sırasında işlem yapılmaz).
        if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) {
            return;
        }
    
        // Eğer bu yazı tipi 'post' değilse işlem yapılmaz (örn. sayfa ya da başka özel yazı tipleri varsa).
        if (get_post_type($post_id) !== 'post') {
            return;
        }
    
        // Tüm kategorileri al
        $kategoriler = get_categories(array('hide_empty' => 0));
    
        // Kategori ID'lerini dizi olarak al
        $kategori_ids = array();
    
        foreach ($kategoriler as $kategori) {
            $kategori_ids[] = $kategori->term_id;
        }
    
        // Yazıya tüm kategorileri ekle
        wp_set_post_categories($post_id, $kategori_ids, true); // true parametresi, mevcut kategorilere ekleme yapar, üzerine yazmaz.
    }
    
    add_action('save_post', 'otomatik_kategoriler_ekle');
    chatgptile çözdüğüm için bunu deneyemiyorum teşekkürler.
  • 12-10-2024, 20:23:18
    #6
    myclub adlı üyeden alıntı: mesajı görüntüle
    chatgptile çözdüğüm için bunu deneyemiyorum teşekkürler.
    Sorun yok hocam ama buda işe yarar. Bir yazı eklediğinizde kaç kategoriniz varsa hepsini ekliyor yazınıza.