• 11-11-2024, 13:40:43
    #1
    Merhaba,
    Wordpress sitemde aşağıdaki kodla post_type oluşturdum. Bu post_type'ın ana sayfalarını 3 farklı dilde de ayarladım. Diğer dillerde bu sayfalar /de/projekte/ veya /en/projects/ şeklinde URL altyapısında gözüküyor. Sorun şu ki bu sayfadan herhangi projeye girince link yapısı /de/projeler/baslik gibi açılıyor. Olması gereken /de/projekte/baslik şeklinde. Linki manuel olarak /de/projekte/baslik şeklinde girdiğimde yine /de/projeler/baslik olarak düzeliyor.

    İstediğim her dil için ayrı slug olması. Ancak sadece projeler üzerinden linkleri oluşturuyor.



    function register_projeler_post_type() {
    $labels = array(
    'name' => 'Projeler',
    'singular_name' => 'Proje',
    'menu_name' => 'Projeler',
    'name_admin_bar' => 'Proje',
    'add_new' => 'Yeni Proje Ekle',
    'add_new_item' => 'Yeni Proje Ekle',
    'new_item' => 'Yeni Proje',
    'edit_item' => 'Projeyi Düzenle',
    'view_item' => 'Projeyi Görüntüle',
    'all_items' => 'Tüm Projeler',
    'search_items' => 'Projeleri Ara',
    'not_found' => 'Proje Bulunamadı',
    'not_found_in_trash' => 'Çöpte Proje Bulunamadı',
    );

    $args = array(
    'labels' => $labels,
    'public' => true,
    'publicly_queryable' => true,
    'show_ui' => true,
    'show_in_menu' => true,
    'query_var' => true,
    'rewrite' => array('slug' => 'projeler'),
    'capability_type' => 'post',
    'has_archive' => false,
    'hierarchical' => false,
    'menu_position' => 20,
    'supports' => array('title', 'editor', 'thumbnail', 'excerpt'),
    );

    register_post_type('projeler', $args);
    }
    add_action('init', 'register_projeler_post_type');
  • 11-11-2024, 23:51:52
    #2
    Slug değişimleri için WPML eklentisi kullanıyorsanız eğer WPML → Settings > Slug translations bölümünden düzenleyebilmeniz gerekli.
    Polylang kullanıyorsanız eğer orada bu tür bir modül var mıydı hatırlamıyorum.
  • 12-11-2024, 13:50:05
    #3
    rdncgr adlı üyeden alıntı: mesajı görüntüle
    Slug değişimleri için WPML eklentisi kullanıyorsanız eğer WPML → Settings > Slug translations bölümünden düzenleyebilmeniz gerekli.
    Polylang kullanıyorsanız eğer orada bu tür bir modül var mıydı hatırlamıyorum.
    Cevap için teşekkürler hocam. Polylang kullanıyoruz. Lisans istiyor. Bu sebeple kod ile düzenlemeye çalıştım ancak olmadı. Mecbur lisans alıp kurdum, sorun çözüldü.